• 締切済み

xamppのAPCで終了エラーが発生します。

xamppのAPCでエラーが発生するようになりました。 WindowsXP環境にて、xampp1.7.1を使用しています。 cakePHPのソースを動かしているのですが、エラーが発生しています。 ソースは、cakePHPのデフォルトの機能を使用した(bake)データベース的なものです。 プログラムを実行すると、以下のエラーが発生します。 < ブラウザに表示されるエラー > Fatal error: Call to undefined function apc_fetch() in [ドライブ]:\xampp\htdocs\cakephp\cake\libs\cache\apc.php on line 74 < apc.php > function read($key) { $time = time(); $cachetime = intval(apc_fetch($key.'_expires')); if ($cachetime !== 0 && ($cachetime < $time || ($time + $this->settings['duration']) < $cachetime)) { return false; } return apc_fetch($key); } この「$cachetime = intval(apc_fetch($key.'_expires'));」の部分でエラーが発生しているようです。 そこで、調べたところ、xamppのphp.iniの「;extension=php_apc.dll」のコメントを外すことによって、エラーを解除することができました。 ということで、先日までできていたのですが、突然apacheを開始すると、Windowsの強制終了のエラーが発生するようになってしまいました。 「extension=php_apc.dll」のコメントを外している時にだけ発生するエラーなので、これが問題と考えているのですが。 < Windows強制終了の内容 > 該当プログラム:Apache HTTP Server エラー報告に含まれるデータの参照: ・エラー署名 szAppName:httpd.exe szAppVer:2.2.11.0 szModName:ZendOptimixer.dll szModVer:0.0.0.0 offset:0000e497 xamppは基本デフォルトの設定で、80番ポートはhttpdで使用できていることを確認しました。 (xamppのデフォルトページや、phpMyAdmin等も問題なく表示できています) < phpinfo() > apc APC Support:enabled Version:3.1.0-dev MMAP Support:Disabled Locking type:File Locks Revision:$Revision: 3.151 $ Build Date:Nov 8 2007 23:20:54 Directive / Local / Value / Master / Value apc.cache_by_default / On / On apc.enable_cli / Off / Off apc.enabled / On / On apc.file_update_protection / 2 / 2 apc.filters / no / value / no / value apc.gc_ttl / 3600 / 3600 / apc.include_once_override / Off / Off apc.localcache / Off / Off apc.localcache.size / 512 / 512 apc.max_file_size / 1M / 1M apc.num_files_hint / 1000 / 1000 apc.report_autofilter / Off / Off apc.rfc1867 / Off / Off apc.rfc1867_freq / 0 / 0 apc.rfc1867_name / APC_UPLOAD_PROGRESS / APC_UPLOAD_PROGRESS apc.rfc1867_prefix / upload_ / upload_ apc.shm_segments / 1 / 1 apc.shm_size / 30 / 30 apc.slam_defense / 0 / 0 apc.stat / On / On apc.stat_ctime / Off / Off apc.ttl / 0 / 0 apc.user_entries_hint / 4096 / 4096 apc.user_ttl / 0 / 0 apc.write_lock / On / On apcを利用した状態で、画面を表示させるには(エラーをなくすには)、どうしたらよいのでしょうか。 以前は動作していたものが、突然動かなくなったのはなぜでしょう。 必要な情報は追記しますので、よろしくお願いいたします。 尚、Yahoo知恵袋でも回答を求めておりますが、閲覧数が低かったため、失礼だとは思いますが、こちらのgooでも掲載させていただきました。 どうぞお力添えのほど、よろしくお願いいたします。

みんなの回答

  • Dags
  • ベストアンサー率78% (11/14)
回答No.2

追記 情報投下 http://php.net/manual/ja/apc.installation.php Windows 版の APC では、temp パスが存在し、 Web サーバから書き込み可能になっていることが必要です。 APC は環境変数 TMP、TEMP、USERPROFILE の内容をこの順に調べ、 どれも設定されていない場合は WINDOWS ディレクトリを使用します。

すると、全ての回答が全文表示されます。
  • Dags
  • ベストアンサー率78% (11/14)
回答No.1

1点質問します。時系列にて記載します。 1.突然、apc_fetch でエラーが発生 2.extension=php_apc.dll のコメントを外し、読む込むように設定 3.Apacheを再起動 4.問題なく動作 現状 1.Apacheを再起動 2.Windowsエラーが発生 以上で、よろしいでしょうか? cakePHPのバージョンにもよりますが、キャッシュエンジンが誤認識されてAPCが有効になっているか、APCが有効な設定にされているかどうかでしょうかね。 APCを有効にせず(extension=php_apc.dllを読み込まない)に正常にcakePHPを動作させる場合、キャッシュエンジンを強制的にFileにすればいいかと思います。 当方Windows環境ではないので、Windowsエラーの発生原因はわかりません。設定かな。

すると、全ての回答が全文表示されます。

関連するQ&A