CakePHPちょっともっと簡単かと思ってました。
どうもワードプレスとかの簡単インストールに慣れすぎていて、同じ調子でCakePHPもインストールしようとしたら、難航しました。
既存のサイトのサブディレクトリにいきなり入れようとしたり、もうMySQLデータベースが新しく作れないのに、無理にワードプレスのアカウントを割り当てたりもしてたので
まだよくわかってないうちに、それは危険かなと思い
テスト用、学習用に、新しいサーバーをたてて、そこのドキュメントルートに入れて見ることにしました。
Web上のドキュメントだけでもいけるかな?と思ったのですが、いろいろ調べたりして時間のロスをするよりは、とやっぱり書籍も購入しました。
はあ、こんなことなら、この本見かけたとき即買いしとけばよかった。
xreaサーバーにインストールします。下記のような構成で。
(1)FTPでファイルをアップ
/lib/caksPHP/cake
/lib/caksPHP/vendors
/lib/caksPHP/app
/public_html/yourdomain.com/(ここにwebroot以下のファイルをアップ)
(2)webrootのしたのindex.phpを書き直す。
define(‘ROOT’, dirname(dirname(dirname(__FILE__))));
→define(‘ROOT’, DS . ‘virtual’ . DS . ‘各自のアカウント’. DS . ‘lib’ . DS . ‘cakePHP’);
define(‘APP_DIR’, basename(dirname(dirname(__FILE__))));
→define(‘APP_DIR’, ‘app’);
ところが
if (function_exists(‘ini_set’) && ini_set(‘include_path’, CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get(‘include_path’))) {
define(‘APP_PATH’, null);
define(‘CORE_PATH’, null);
}
というところで APP_PATHとCORE_PATHが正常に設定されないので、この部分をコメントアウトし、else部分のみにする
if (!defined(‘CORE_PATH’)) {/*
if (function_exists(‘ini_set’) && ini_set(‘include_path’, CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get(‘include_path’))) {
define(‘APP_PATH’, null);
define(‘CORE_PATH’, null);
} else {*/
define(‘APP_PATH’, ROOT . DS . APP_DIR . DS);
define(‘CORE_PATH’, CAKE_CORE_INCLUDE_PATH . DS);/*
}*/
}
(3)app/tmp フォルダとその中身を書き込み可能に設定する。
すると急に、Cache関連のエラーが大量にでる。
cake/libs/folder.phpでapp/tmp/logsが存在しているのになぜかfile_existsがfalseを返すようで、すでに存在しているのにmkdirを延々と繰り返してエラーを吐く。
phpのマニュアルをみると、file_existsはセーフモードでアクセスできないとfalseになるとも書いてある。
現時点でまだよくわからないので とりあえず app/config/core.phpで
Configure::write(‘Cache.disable’, true);
の行のコメントをはずして、エラーを回避。依然として
Your cache is NOT working. Please check the settings in APP/config/core.php
といわれ続けるが、とりあえずここは現段階では放置。
(4)app/config/core.phpで Security.saltを書き直す。
Configure::write(‘Security.salt’, ‘(任意の値に)’);
次はデータベースの設定です。
Laisser une réponse