Yiiチュートリアル:Welcome表示が出ず真っ白…
PHPフレームワークYiiのチュートリアルメモ。
Yiiの公式ドキュメントは分かりやすいので、基本これを見て進める
初めに: 初めての Yii アプリケーションの作成 | Yii 1.1 公式ガイド | Yii PHP Framework
チュートリアル通り、まずはyiiの骨格をyiicで作成。
[cake@cake html]$ /var/www/yii/framework/yiic webapp chara-y
Create a Web application under '/var/www/html/chara-y'? [yes|no] y
mkdir /var/www/html/chara-y
generate index.php
(以下略)
しかしこれでhttp://localhost/chara-yにアクセスしても何も表示されず。
PHPのエラーログを見ると、基幹となるYiiにパスが通ってない模様。
[Wed Feb 08 11:10:31 2012] [error] [client 192.168.2.110] PHP Warning: require(/var/www/html/yii/framework/base/interfaces.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in /var/www/html/yii/framework/YiiBase.php on line 845 [Wed Feb 08 11:10:31 2012] [error] [client 192.168.2.110] PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required '/var/www/html/yii/framework/base/interfaces.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/yii/framework/YiiBase.php on line 845
yii/framework/YiiBase.php
39行目 defined('YII_PATH') or define('YII_PATH',dirname(__FILE__)); 845行目 require(YII_PATH.'/base/interfaces.php');
WebrootにYiiを置くのは避ける方針なので、index.phpにYII_PATHを定義追加します。
これだとディレクトリ構造が固定されるのと、index.phpを改変する事になるので、config設定あるいは自動検出にしたいものですが・・・現状これで
[cake@cake chara-y]$ git diff diff --git a/index.php b/index.php index 0934d67..0429527 100644 --- a/index.php +++ b/index.php @@ -1,4 +1,7 @@ <?php +// Yii Frameworkをinclude_pathに追加 +$YiiFramework_path = dirname(__FILE__).'/../../yii/framework'; +define('YII_PATH', $YiiFramework_path); // change the following paths if necessary $yii=dirname(__FILE__).'/../../yii/framework/yii.php';
これで、チュートリアル通りのWelcome画面が表示されました。