スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    エラーページのカスタマイズ @symfony

    0
      先週末から1週間にわたって緊急案件をやってたので更新できませんでした^^;;

      symfonyで作ったプロジェクトをいよいよ公開する前に、エラーページをカスタマイズする必要があります。
      一般の日本人のお客様が見るページで「うーっぷす!えらーおかーど!」とか英語で書かれても意味不明なのでw

      ■その1:404エラー
      404エラーページのカスタマイズ方法@symfony BOOK 日本語版!
      http://develop.ddo.jp/symfony/book/jp/1.0/404.html

      極めて簡単です。
      myapp > settings.yml内
      all
      .actions

      ↑とコメントアウトしてある部分があるので
      error_404_module: default
      error_404_action: error404
      を適当に自作の404エラー表示用モジュール・アクションに書き換えればOK。
      面倒くさければdefaultというモジュールを作ってerror404アクションを書いてしまってもいいかも。

      ■その2:500エラー(うーっぷす!えらー)
      本家のsymfony bookにはこう書いてあります。

      Two other pages bear a symfony look and feel, and they also need to be customized before deployment to production. These pages are not in the default module, because they are called when symfony cannot run properly. Instead, you will find these default pages in the $sf_symfony_data_dir/web/errors/ directory:

      error500.php: Page called when an internal server error occurs in the production environment. In other environments (where SF_DEBUG is set to true), when an error occurs, symfony displays the full execution stack and an explicit error message (see Chapter 16 for details).
      unavailable.php: Page called when a user requests a page while the cache is being cleared (that is, between a call to the symfony clear-cache task and the end of this task execution). On systems with a very large cache, the cache-clearing process can take several seconds. Symfony cannot execute a request with a partially cleared cache, so requests received before the end of the process are redirected to this page. The unavailable.php page is also used when an application is disabled via the symfony disable command (see Chapter 16 for details).
      To customize these pages, simply create error500.php and unavailable.php pages in your application's web/errors/ directory. Symfony will use these instead of its own.


      要約すると、
      ・デフォルトのエラーページはdata/symfony/web/errors内のerror500.phpだよ!これを修正すればいいよ!
      ・もしデフォルトをいじりたくなければ、myappのwebディレクトリにerrorsディレクトリを作ってそこにerror500.phpを置けばいいよ!
      と書いてあります。(多分)

      今回、私の取り組んでるのは、一つのプロジェクト内で属性の違う2種類のお客様が動き回り、それぞれに対して違う見た目を提供する必要があので、できれば後者を使ってappごとにエラーページを使い分けたい。

      私のアプリのwebディレクトリは、/home/symfony/public_html/hoge/にあるので、hogeの下にerrorsディレクトリを作り、そこにerror500.phpとunavailable.phpを置いた。
      ここで念のためsymfony cc。

      公式マニュアルによれば、これでOKのはず。
      が、なぜかできないorz デフォルトのエラーページが表示されます…。

      仕方ないので、単に「えらーが発生しました」を白地に黒文字で書いただけのページでdata/symfony/web/errors/内のデフォルトページを上書きし、応急処置にしました。

      タイプミス?キャッシュが残ってるから?…
      色々試しましたが現時点では解決策不明でした><

      が、なぜかできないorz


      スポンサーサイト

      0

        • 2014.12.23 Tuesday
        • -
        • 17:36
        • -
        • -
        • -
        • -
        • by スポンサードリンク

        コメント
        > hogeの下にerrorsディレクトリを作り

        そこじゃなくて hoge/web/ の下ですよん。
        • 2008/01/11 1:16 PM
        コメントする








           
        この記事のトラックバックURL
        トラックバック

        PR

        calendar

        S M T W T F S
           1234
        567891011
        12131415161718
        19202122232425
        2627282930  
        << November 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM