2008年6月22日日曜日

 

【symfony】XREAレンタルサーバでsymfonyを使う設定

XREAにはあらかじめsymfonyがインストールされている。
コマンドで確認。ヘルプが返される。

$ symfony

CGI版のPHPに切り替える

XREAレンタルサーバのPHPモジュールはセーフモードの設定になってるので、 キャッシュ、ログ・ファイルの書きだしができない。
そこでCGI版のPHPモジュールを利用するように、.htaccessに記述を追加する。

追記
詳しくは以下のXREA公式サポートを参照。特定ファイルのみCGI版にしたり、独自の「php.ini」を設置して文字コードやSQLiteやファイルの制限を設定できる。

PHPをCGIとして動かす方法について - XREA&CORE SUPPORT BOARD

PHPの拡張子を変更する

.phpがApacheのモジュールで占有されているから・・・と推測されますが原因は不明とのことでPHPスクリプトファイルの拡張子をデフォルトの「.php」から変更する。ここでは「.phtml」にする。 以下の文を.htaccessに追記。

RewriteRule ^(.*)$ index.phtml [QSA,L]
.phtmlファイルをCGI版PHPモジュールで処理する設定も記述する。
AddHandler application/x-httpd-phpcgi .phtml

symfonyプロジェクトを作成した際、外部からアクセスされる「web/」ディレクトリ下に存在する.htaccessを編集することにした。
RewriteRule ^(.*)$ index.php [QSA,L]をコメントアウトして上記2行コードを挿入。

デフォルトのファイルパスを変更

symfonyは多くのディレクトリで構成されており、mod_rewrite機能を使ったリダイレクトで外部からは意識されないようになっている。
よってファイルパスなどの生成はシステムが補うことになるが、SCRIPT_NAMEを利用して行っている。
もし「index.phtml」から「css/style.css」と指定した場合、パスは「/index.phtml/css/style.css」となりエラーになる。
そこでSCRIPT_NAMEを変更する。プロジェクトの基本設定ファイル「/apps/myapp/config/config.php」を編集。$_SERVER["SCRIPT_NAME"] を確認してwebルートディレクトリを設定。

$_SERVER["SCRIPT_NAME"] = "";

参考

xreaレンタルサーバでsymfonyを使う - dozo dokuwiki.php

ラベル:


コメント: コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google