1

PHPアプリを開発していて、APCにデータをキャッシュしたいと思っています。APCが実行されて有効になっているので、apc.phpを開くと、オペコードキャッシングが正常に機能していることを示す統計を確認できます。

apc_store()ただし、データを使用またはapc_add()保存しようとすると、apacheプロセスがクラッシュします。

これはWindows7Professional 64ビットシステムであり、次の両方のバージョンの組み合わせで発生します。

  • Apache 2.2.21、PHP 5.3.9、APC 3.1.6
  • Apache 2.2.22、PHP 5.3.13、APC 3.1.9

最初の構成では、クラッシュはすぐに発生し、これはapacheエラーログに記録されます。

[Fri Jun 08 12:51:58 2012] [notice] Parent: child process exited with status 255 -- Restarting.

秒でいくつかの遅延があり、私はこれを取得します:

[Fri Jun 08 16:18:48 2012] [notice] Child 5052: Exit event signaled. Child process is ending.
[Fri Jun 08 16:18:48 2012] [warn] (OS 995)Der E/A-Vorgang wurde wegen eines Threadendes oder einer Anwendungsanforderung abgebrochen.  : winnt_accept: Asynchronous AcceptEx failed.
[Fri Jun 08 16:18:48 2012] [warn] (OS 10038)Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist.  : setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed.
[Fri Jun 08 16:18:52 2012] [warn] pid file C:/wamp/bin/apache/apache2.2.22/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Fri Jun 08 16:18:52 2012] [notice] Apache/2.2.22 (Win64) PHP/5.3.13 configured -- resuming normal operations

これを修正するために何ができるでしょうか?

4

1 に答える 1

1

保存したい配列にネイティブ リソースが含まれていたようで、それがクラッシュの原因でした。

serialize()保管する前に使用し、unserialize()その後問題を修正しました。

于 2012-06-08T15:02:01.293 に答える