さくらVPS+CakePHPでエラーが発生:メモリーサイズとタイムアウトの問題

このQ&Aのポイント
  • さくらのVPSにCakePHPを導入しているが、Mysqlにアクセスするページを表示しようとするとエラーが発生している。
  • エラー内容は、メモリーサイズが不足しているためエラーが発生しており、メモリーサイズを上げるとタイムアウトエラーとなる。
  • CakePHPの「database.php」の設定は正しく行っており、Mysqlにはユーザーとテーブルを用意しているが、エラーが解消されない。
回答を見る
  • ベストアンサー

さくら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 -------------

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

うーん、成功コードがちゃんと入っているようで、私の方でできるアドバイスも行き詰まりました。 「PDOもmysqlも正しく動作していて関数も成功判定されているのにデータがとれていない」状況というのは、単純に「そのテーブルのデータがない」以外には遭遇したことないんですよね。 再度、各種ログファイル(httpd、php、mysql、syslog、audit)を確認して戴いて何も無いようならお手上げです。

misoshio
質問者

お礼

お世話になります。 その後もいろいろ試しましたが、どうしてもダメでした。 OSを入れ直すなどして、うまく行くまで何度もトライしてみます。 長い間おつきあいくださいまして、誠にありがとうございました。 とてもよい勉強になりました。

その他の回答 (5)

回答No.5

PDOのインスタンスは作成されているようなので接続には成功してるような感じですね。 サンプルのphp部分を次のように書き換えることでエラー内容が取れるかもしれないので試して戴けませんか? ------------------------------ try { $dbh = new PDO('mysql:host=localhost;dbname=hoge;', 'user', 'pass'); $sth = $dbh->prepare('SELECT * FROM table'); print_r($dbh->errorInfo()); $sth->execute(); print_r($sth->errorInfo()); }catch(PDOException $e){ var_dump($e->getMessage()); } ------------------------------ なんとなく、PDOが問題というか、phpからアクセスしようとしているデータにアクセスできていない感じを受けます。 (ユーザーの表に対する権限が足りないか、空間が別。テーブル自体がない、テーブルの中のデータがない、など) #手元に環境なくコメントをしているので、色々遠回りで申し訳ないです。

misoshio
質問者

補足

お世話になります。 いただいたサンプルを実行したところ、以下のメッセージが表示されました。 /usr/lib64/php/modulesArray ( [0] => 00000 [1] => [2] => ) Array ( [0] => 00000 [1] => [2] => ) > 手元に環境なくコメントをしているので、色々遠回りで申し訳ないです。 とんでもないです。こんな初心者に貴重なお時間を割いていただき大変感謝しております。 こちらの環境を見ていただいたら即座に修復可能な内容とだと思うのですが、なかなか状況を的確に伝えられず、何度もお手数をおけして申し訳ありません。

回答No.4

変ですね、書いたコードが真っ白になる場合はPHPのログに何かしらエラー内容がでてるはずなんですが、何も出なかったですか? ・phpのログをとってない場合は一時的にphp.iniを編集していただけますか(要httpd再起動)。 -------------------------------- error_reporting = E_ALL log_errors = On error_log = ログのパス -------------------------------- それでもログに何も出力されない場合 ・charsetの指定をなくしても真っ白になりますか? -------------------------------- //$dbh = new PDO('mysql:host=localhost;dbname=hoge;charset=UTF-8', 'user', 'pass');                  ↓ $dbh = new PDO('mysql:host=localhost;dbname=hoge;', 'user', 'pass'); -------------------------------- ・$dbhに何か情報が入ってきていますか? (確認される時はブラウザのソースコードを表示してください) -------------------------------- $dbh = new PDO('mysql:host=localhost;dbname=hoge;charset=UTF-8', 'user', 'pass'); var_dump($dbh); // <--- ここに追加 -------------------------------- $dbhに何も入ってない場合はphp->PDO間の問題(soをロードできていないとか)、 何かしら情報が表示された場合はphp->mysql間の通信(の設定)の問題じゃないかなと推測できます。 あと、覚えておられたらでいいので、システムにphpを入れたときのコマンドを教えて戴けますか。

misoshio
質問者

補足

お世話になります。 ログは設定してあります。 ログには以下の2つが記録されていましたが、修正したあとは何も出力されていません。 ■PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_sqlite.so' - /usr/lib64/php/modules/pdo_sqlite.so: undefined symbol: php_pdo_register_driver in Unknown on line 0 ■PHP Warning: Module 'pdo_mysql' already loaded in Unknown on line 0 ほかのログも確認しているのですが、どれも把握できるものなので今回の件に直接関わるものではないようです。 new PDO中のcharsetの指定を外してみましたが、真っ白のまま変わりませんでした。 var_dump($dbh);を追加すると、 object(PDO)#1 (0) { } これが表示されます。 PHPをインストールしたときのコマンドは以下のものです。 yum -y install php php-mbstring php-mysql php-gd この感じだと設定1つで解決できそうな予感がするのですが、初心者にはそれを見つけるのが難しいですね。 いろいろいじってはいますが、設定は1つ変えてダメなら元に戻すという作業を繰り返しているので、ぐちゃぐちゃにはなっていないと思います。

回答No.3

そうしますと、原因を切り分けて考えて行かないと難しいかも知れません。 ・cakeなしでphpからmysqlのデータを引けるかどうか。(例えば次のようなコードが動くかどうか) ------------------------------ <html><head><title>test</title></head><body> <?php try { $dbh = new PDO('mysql:host=localhost;dbname=hoge;charset=UTF-8', 'user', 'pass'); foreach($dbh->query('SELECT * FROM table') as $row){ echo implode('&nbsp;', $row) . '<br/>'; } }catch(PDOException $e){ var_dump($e->getMessage()); } ?> </body></html> ------------------------------ ・(おそらくrelease用の設定をされていると思いますので)表示されないエラーが出ていないかどうか。 http://inspire-tech.jp/2011/10/cakephp_error_logging/ ・そもそもmysql monitor, php myadminなどのツールからmysqldに接続できるかどうか。 ・SELinuxが何かを弾いていないかどうか。 などなど・・・

misoshio
質問者

お礼

試しに以下のプログラムにしてみたところ、下の結果が表示されました。ですので、PDOのところがうまくいってないようです。 $url = "localhost"; $user = "hoge"; $pass = "****"; $db = "hoge"; $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。"); $sql = "SELECT * FROM qqq"; $result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql); $rows = mysql_num_rows($result); mysql_free_result($result); mysql_close($link) or die("MySQL切断に失敗しました。"); echo " 接続ID:{$link}<br /> 選択の成否:{$sdb}<br /> 結果ID:{$result}<br /> 行数:{$rows}<br />"; ---結果--- 接続ID:Resource id #2 選択の成否:1 結果ID:Resource id #3 行数:2 --------

misoshio
質問者

補足

お世話になります。 お忙しいところ、サンプルのご呈示までしていただきありがとうございます。 早速、ユーザー名やパスワードを入れて試してみたところ、CakePHPのときと同じようにエラーは表示されず、真っ白な画面になってしまいました。 ユーザー名を存在しないものにすると、以下のようなエラーは表示されます。 string(86) "SQLSTATE[28000] [1045] Access denied for user 'aaaa'@'localhost' (using password: YES)" データベース名でも同様です。 新たにデータベースを追加したりしてあれこれ試してみましたが、結果は同じでページは真っ白になってしまいます。 エラー表示設定ですが、テストサイトは.htaccessで制限しているので、CakePHPのデバッグレベルは2にしたままで試しています。 phpmyadminは普通に使うことができます。ツール上でのデータ変更も可能です。 セキュリティ関係の設定は動作後に行う予定でしたので、SELinuxはDisabledになっています。 自分のほうでも思いついたことをいろいろと試しているのですが、未だ原因がさっぱりわかりません。

回答No.2

http://pentan.info/php/30timeout.html 上の記事を見ていただいて、いったんタイムアウトを3600秒等に設定するとどうなりますか? 重くても動くようなら単純にSQL文か処理が重いだけだと思います。 あと、mysqld側のログも見てみたほうがいいと思います。

参考URL:
http://server-setting.info/centos/mysql-log-type.html
misoshio
質問者

補足

お世話になります。 タイムアウトの時間を延ばすと、今度は再びメモリー不足になるという状態です。結局処理はできず、無限ループのような状態です。 Mysqlを使ったページを開くと、最初のhtml部分は表示され、データベース情報を出力するところでUndefined index~となってしまいます。Mysql関連のエラーメッセージが表示されないので、手がかりがありません。 何らかの設定ミスだと思うのですが、どうやってその間違いを見つけられるのか、ここ2日間ずっと悩み続けています。 Mysqlのエラーログも確認しましたが、とくに出力されていません。 そのほかのエラーとして PHP Warning: Module 'pdo_mysql' already loaded in Unknown on line 0 があったのでphp.iniを修正したところ、それ以降ログは残らなくなりました。 また、SQL文が重いのではというご指摘ですが、SQL文が少ないページでも同様に動作をしてくれません。さくらのレンタルサーバーで普通に動作しているので、おそらくSQL文に問題はないと思います。

回答No.1

メモリサイズをあげた後に出るタイムアウトのエラー内容を書いて貰えないですか? 何がタイムアウトしているのかが分かりません。

misoshio
質問者

補足

お世話になります。 リミットを1024Mにすると、このようなエラーになります。 Error: Fatal Error (1): Maximum execution time of 30 seconds exceeded in [/var/cake/lib/Cake/basics.php, line 192] 2013-07-13 12:48:06 Error: [FatalErrorException] Maximum execution time of 30 seconds exceeded #0 /var/cake/lib/Cake/Error/ErrorHandler.php(161): ErrorHandler::handleFatalError(1, 'Maximum executi...', '/var/cake/lib/C...', 192) #1 [internal function]: ErrorHandler::handleError(1, 'Maximum executi...', '/var/cake/lib/C...', 192, Array) #2 /var/cake/lib/Cake/Core/App.php(926): call_user_func('ErrorHandler::h...', 1, 'Maximum executi...', '/var/cake/lib/C...', 192, Array) #3 /var/cake/lib/Cake/Core/App.php(899): App::_checkFatalError() #4 [internal function]: App::shutdown() #5 {main}

関連するQ&A

  • XREA : CakePHP(1.2.6)の設置作業で困っています。

    XREA で、 CakePHP(1.2.6)の設置作業をしています。 ディレクトリ: /cakephp/app/config ファイル名: database.php database.phpを修正した所、次のメッセージが表示されました。 ここから、---------- Release Notes for CakePHP 1.2.6. Read the changelog Your tmp directory is writable. The FileEngine is being used for caching. To change the config edit APP/config/core.php Your database configuration file is present. Parse error: syntax error, unexpected T_STRING, expecting ')' in /virtual/アカウント名/cakephp/app/config/database.php on line 88 ----- ココまで。 最後の「Parse error」は、どの様に対処したら良いですか。 database.phpの編集内容は、次の通り。 var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'user', 'password' => 'pass', 'database' => 'user', ''encoding' => 'utf8' 'prefix' => '', 以上、よろしくお願いします。

    • 締切済み
    • PHP
  • CakePHPのデータベース接続エラーについて

    MySQLもCakePHPも初心者です。 詳しい方よろしくお願い申し上げます。 当方のPC環境はMac OS X 10.9.5で、MAMPをインストールして 色々なサイトを見ながらなんとか初期設定までは完了しました。 その後、下記の様なエラーが表示されて、色々グーグル検索し、 CakePHP is NOT able to connect to the database. Database connection "Mysql" is missing, or could not be created. database.phpのファイルも書き換えて、iTermからMysqlに接続して ユーザーも作成出来ましたが、依然としてエラーは解消されないので PHPの設定もphp.iniで追記してみましたが、エラーが解消されず もうどうして良いかわかりません。 (参考にしたページ:http://www.phpbook.jp/cakephp/install/index2.html  http://locombox.com/posts/35  他) どうぞよろしくお願いします。

    • ベストアンサー
    • MySQL
  • cakephp エラーハンドリングができません

    cakephpを利用しているシステムで、2種類のエラーを作っておいてcontrollersの呼び出しで振り分けたいと思いますがうまくできません。 マニュアルページ(http://book.cakephp.org/ja/view/154/Error-Handling)を参考に、 app/app_error.phpを以下のように作成しました。 ((1)エラー:error(2)エラー:errorsta) ----------------------------------------------------------------- <?php class AppError extends ErrorHandler{ function error(){ $this->controller->viewPath = 'errors'; $this->__outputMessage('error'); } function errorsta(){ $this->controller->viewPath = 'errors'; $this->__outputMessage('errorsta'); } } ?> ----------------------------------------------------------------- 上記内容で、メソッドerrorは実行できるのですが、errorstaが一向に動いてくれず、404扱いになってしまいます。 app/app_error.php以外にも設定が必要なものがあるのでしょうか?

    • 締切済み
    • PHP
  • centOSにcakePHPを入れた際のエラー

    現在、amazon web serviceにてec2(centOS)を立ち上げ、 cakePHP(バージョン2.3)を配置しました。 配置した場所は /var/www/html/cakePHP で、ブラウザからcakeの画面が表示されるのは確認しております。 サーバ上に置いた際に発生するいくつかのエラーを直してエラーを消したのですが、 先ほどまた新たにエラーが発生してしまいました。 そのエラーの内容ですが、ページ上部に session_start() [http://php.net/function.session-start]: open(/var/lib/php/session/sess_u0btov6g5v9ob0lc0n9rpuaea6, O_RDWR) failed: Permission denied (13) [CORE/cake/libs/cake_session.php, line 587] というかんじで表示されています。 内容はなんとなく理解できて、 /var/lib/php/session/sess_u0btov6g5v9ob0lc0n9rpuaea6, O_RDWR のパーミッションを変更すれば直るかと思うのですが、 本当にこの直し方で大丈夫でしょうか。 この方法で直しても、いつかまた同じエラーが発生しそうで不安なので ご質問させていただきました。 お分かりになられる方、いらっしゃいましたらご教授のほどお願いいたします。

    • ベストアンサー
    • PHP
  • CakePHP導入時のデータベース設定

    こんにちは。 CakePHP2.4.10をダウンロード後の、「database.php」の設定についてお聞きしたいです。 当方Mac OSX、MAMPを使用しています。データベース管理はphpMyAdminで行っています。 phpMyAdminのユーザを以下のように設定しました。 ユーザ:cakephp ホスト:localhost パスワード:はい(任意のものに設定済み) グローバル特権:USAGE 権限移譲:いいえ MAMPのhtdocsフォルダ内にcakesのフォルダを移動後、 http://localhost:8888/cakephp/ を見て、エラーを確認すると、 CakePHP is NOT able to connect to the database. Database connection "Mysql" is missing, or could not be created. というエラーが出ています。 こちらのサイト(http://eight-smile.com/blog/web/cakephp%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/)では、database.php.defaultの拡張子をdatabase.phpに変更後、 ・login ・password ・database のみを書き換えればよいとのことだったので、 ・'login' => 'cakephp' ・'password' => '任意のパスワード' ・'database' => 'mini_bbs'(phpMyAdminでテーブル作成済) としました。 それでもエラーは消えないです。どうすればよいのでしょうか?お教え下さい。

    • ベストアンサー
    • PHP
  • awsのec2にてcakephpインストール・設定

    amazon web serviceのec2でインスタンスを生成し、cakephpをインストールして使えるようにしたいと思っております。 すでに、apacheやphp、mySQLはインストール済みで、cakePHPをローカルのPCにダウンロードして、winSCPにてec2にアクセスしています。 ドキュメントルート以下にlibを置きたくなく、色々と調べまして現在は /home/○○○/app lib plugins などを置いていまして、confにてドキュメントルートを /home/○○○/app/webroot と設定してあります。 これで、ブラウザから http://○○○.jp/ でアクセスしたところ、 Warning: strtotime(): It is not safe・・・ というエラーが発生しました。 そこで、php.iniの date.timezone = を date.timezone = ‘Asia/Tokyo’ と変えてみてapacheを再起動しましたが、同じエラーが表示されてしまっています。 cakePHPのファイルを置く場所がいけないのでしょうか? それとも、設定で何か不備があるのでしょうか?? お分かりになられる方、いらっしゃいましたらご教授のほどお願い致します。

  • CakePHPの表示エラーについて

    --------------------------- CakePHPバージョン:1.3.14. PHPバージョン:5.3.3 Apacheバージョン:2.2.3 --------------------------- CakePHPを始めたばかりです。 インストールを完了し、トップページでのhello world!の表示は出来ました。 (トップページだけは特例のようですね) http://www.example.com/test/hello という形でhello world!を表示させたいと思い下記のようにファイルを作りUPしましたが、エラーが表示されてしまいました。 何を変更すればうまくファイルが表示されるのかを教えていただければと思います。 test_controller.php ---------------------------------------------------------- class TestController extends AppController { public $name = "Test"; public $uses = null; public $autoRender = true; function index(){ } function hello(){ $this->set("content", "Hello World!"); } } ---------------------------------------------------------- http://www.example.com/test/hello (エラーメッセージ) ------------------------------------------------------------------------------- Warning: include(cake/bootstrap.php): failed to open stream: No such file or directory in /var/www/html/example.com/test.php on line 76 Warning: include(): Failed opening 'cake/bootstrap.php' for inclusion (include_path='/var/www:/var/www/html/:.:/php/includes:/usr/share/pear') in /var/www/html/example.com/test.php on line 76 Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your /cake core directory and your /vendors root directory. in /var/www/html/example.com/test.php on line 77 ------------------------------------------------------------------------------- bootstrap.phpというファイル名が出てきているので、bootstrap.phpを見てみましたが何が間違っているのかはわかりません。 include_pathも出てきているので、cakephpのパスを通しておく必要があるのでしょうか? bootstrap.php ------------------------------------------------------------- if (!defined('PHP5')) { define('PHP5', (PHP_VERSION >= 5)); } if (!defined('E_DEPRECATED')) { define('E_DEPRECATED', 8192); } error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); require CORE_PATH . 'cake' . DS . 'basics.php'; $TIME_START = getMicrotime(); require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php'; require LIBS . 'object.php'; require LIBS . 'inflector.php'; require LIBS . 'configure.php'; require LIBS . 'set.php'; require LIBS . 'cache.php'; Configure::getInstance(); require CAKE . 'dispatcher.php'; ------------------------------------------------------------- (全体の設定状況など) .htaccess httpd.conf あたりの設定が間違っているのかと思い、ネットで情報を調べていろいろ変更したりしてみましたがダメでした。 あと一つ気になる点としては、公開ディレクトリ以外をUPしているディレクトリ名をcakeにしてしまっているところです。(cakeというディレクトリ名はダメとかあるのでしょうか?) ディレクトリの構成と設定の内容を下記に記載します。 [/var/cake]プログラムファイル /var/cake/app /var/cake/plugins /var/cake/vendors /var/cake/.htaccess /var/cake/index.php 公開ディレクトリ(ルート) css files img js .htaccess css.php index.php ############################################################## .htaccessの設定 ############################################################## 3か所ほど設定すべきところがあるようなので下記のように設定しました。 /var/cake/.htaccess ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> ------------------------------------------------- /var/cake/app ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake/app  RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> ------------------------------------------------- 公開ディレクトリの.htaccessの設定 ------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$ RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> -------------------------------------------------

    • ベストアンサー
    • PHP
  • centos上でcakephpが作れない

    CENTOS7 cakephp3 /var/www/htmlの中にcakephpのディレクトリを作ろうと、 cd /var/www/html composer create-project --prefer-dist cakephp/app test としましたが、 mkdir(): Permission deniedというエラーが出てしまうので、 cd /home/user composer create-project --prefer-dist cakephp/app /var/www/html/test としてインストールすると、正常にインストールしてる風ではあったんですが、 ls /var/www/html で見てみてもディレクトリが作られていません。 権限については ls -l /var/www drwxrwxr-w. 2 root root html となってるので問題ないという認識です。 ちなみにselinuxが邪魔するというので無効化しました。 $ getenforce Disabled 初心者ですがよろしくお願いします。

  • CakePHPでヘルパーが使えません

    CakePHPを使用して開発を行っています。 app/views/helpers/common_lib.php に、class CommonLibHelper extends AppHelper としてヘルパークラスを作り、コントローラーの$helpersにarray('CommonLib')を記述しました。 ビューファイルにて、$common_lib->function() として、ヘルパーで定義したメソッドを呼ぶと、 undefined variable: common_libと言われてしまいます。どうしてか教えていただけませんか? クラス名やファイル名は合っていると思うのですが・・・。 CakePHPのバージョンは、1.3.6です。

    • ベストアンサー
    • PHP
  • CAKEPHPのエラーについて

    XAMPPを使い、CAKEPHPの勉強をしております。 画面にアクセスからDBにアクセスすると、以下のエラーが表示されます。 Warning (512): SQL Error: 11: database disk image is malformed [CORE\cake\libs\model\datasources\dbo_source.php, line 666] 解決方法が分からないため、ご相談している次第です。 ご存知の方、いらっしゃいましたら、教えて頂けますでしょうか?

    • ベストアンサー
    • PHP