php - 使用用户缓存时 APC 崩溃

标签 php crash apc

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

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

这是在 Windows 7 Professional 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
    

    可以做些什么来解决这个问题?

    最佳答案

    似乎我要存储的数组包含 native 资源,这导致了崩溃。

    使用 serialize()在存储之前和 unserialize()后来解决了这个问题。

    关于php - 使用用户缓存时 APC 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950378/

    相关文章:

    php - SHA512在PHP中生成随机数

    php - SELECT 循环内的 SELECT 循环

    windows - 当我从 Perl 调用命令时,如何抑制 "notify Microsoft"崩溃对话框?

    php - APC 和子 pid XXXXX 退出信号段错误

    c - Windows 中的用户空间 APC 队列长度

    php - 从 php 表的两个主键生成唯一的 12 字母字母数字字符串

    javascript - 表单验证后服务器端脚本不工作

    android - setText错误,从2个 Activity 传递值时,Android应用程序强制退出

    visual-studio-2010 - 带有团队资源管理器的 KERNELBASE.dll Visual Studio 2010 上的 APPCRASH

    php - 如何对 APC 缓存进行碎片整理