1

我正在开发一个 PHP 应用程序,并希望在 APC 中缓存一些数据。APC 正在运行并启用,当我打开 apc.php 时可以看到统计信息,这表明操作码缓存工作正常。

但是,每当我尝试使用apc_store()apc_add()存储一些数据时,apache 进程就会崩溃。

这是在 Windows 7 Professional 64 位系统上,并且在以下两个版本组合中都会发生:

  • 阿帕奇 2.2.21、PHP 5.3.9、APC 3.1.6
  • 阿帕奇 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 回答