さくらVPS+CakePHPがうまく動きません
さくらのVPSにCakePHPを導入して試しています。
VPSの設定が一通り完了し、現行のサイト(さくらのレンタルサーバーに設置)を移行してみたところ、どうしてもうまくいきません。
html+phpのページは何の問題もなく表示されるため、データベース(Mysql)が原因なのは明らかなのですが、スキル不足の問題もあり問題が見つけられず困っています。
具体的には、Mysqlにアクセスするページを表示しようとすると、このようなエラーがCakePHPのログに残ります。
------
Error: Fatal Error (1): Allowed memory size of 134217728 bytes exhausted (tried to allocate 17218517 bytes) in [/var/cake/lib/Cake/Utility/String.php, line 247]
2013-07-13 09:43:45 Error: [FatalErrorException] Allowed memory size of 134217728 bytes exhausted (tried to allocate 17218517 bytes)
#0 /var/cake/lib/Cake/Error/ErrorHandler.php(161): ErrorHandler::handleFatalError(1, 'Allowed memory ...', '/var/cake/lib/C...', 247)
#1 [internal function]: ErrorHandler::handleError(1, 'Allowed memory ...', '/var/cake/lib/C...', 247, Array)
#2 /var/cake/lib/Cake/Core/App.php(926): call_user_func('ErrorHandler::h...', 1, 'Allowed memory ...', '/var/cake/lib/C...', 247, Array)
#3 /var/cake/lib/Cake/Core/App.php(899): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}
------
メモリーサイズを上げると、今度はタイムアウトでエラーになります。
CakePHPの「database.php」には、
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'hoge',
'password' => 'pass',
'database' => 'hoge',
'prefix' => '',
'encoding' => 'utf8',
);
と設定していて、Mysqlにはユーザー「hoge」とテーブル「hoge」を用意しています。
たとえば、上の設定で「database」を存在しないテーブル「aaa」にすると、
Missing Database Connection
Error: A Database connection using "Mysql" was missing or unable to connect.
The database server returned this error: SQLSTATE[28000] [1045] Access denied for user 'aaa'@'localhost' (using password: YES)
このように普通のエラーが表示されます。
また、「login」を存在しないユーザー名「bbb」にすると、
Missing Database Connection
Error: A Database connection using "Mysql" was missing or unable to connect.
The database server returned this error: SQLSTATE[42000] [1049] Unknown database 'bbb'
こちらも普通のエラーが表示されます。
CakePHPのappディレクトリはvar直下に移動していますが、html直下に置いても結果は同じでした。
どういったことが原因なのか、解決方法や手がかりなどご教示いただければと思います。
-------------
さくらのVPS SSD 2G
CentOS 6 x86_64
PHPのバージョン
PHP 5.3.3 (cli) (built: Feb 22 2013 02:51:11)
Mysqlのバージョン
Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
PDO
PDO support => enabled
PDO drivers => mysql, sqlite
PDO Driver for MySQL, client library version => 5.1.69
PDO Driver for SQLite 3.x => enabled
-------------
お礼
foreach様 ご回答いただきまして、ありがとうございます! こちらの質問ですが、仰るとおりパーミッションを757に変更しましたところ、無事解決することができました。 ご教授いただきまして、ありがとうございました!