启用APC会导致内部服务器错误

在安装并启用APC 3.1.9(备用PHPcaching)后,使用pecl ,我遇到了内部服务器错误。 我检查了我的错误日志,这是什么显示。

错误日志:

 PHP Fatal error: PHP Startup: apc_mmap: mkstemp on /tmp/apc.efdb4d failed: in Unknown on line 0 [Wed Jul 06 23:47:41 2011] [error] mod_fcgid: process /var/www/cgi-bin/cgi_wrapper/cgi_wrapper(22397) exit(communication error), get unexpected signal 11 

我没有将APC扩展添加到我的php.ini文件中, apc.ini/etc/php.d/创build了一个apc.ini文件,这里是我当前的APCconfiguration

apc.iniconfiguration:

 ; /etc/php.d/apc.ini extension = apc.so apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 128M apc.optimization = 0 apc.num_files_hint = 4096 apc.ttl = 7200 apc.user_ttl = 7200 apc.gc_ttl = 0 apc.cache_by_default = 1 apc.filters = "" apc.mmap_file_mask = "/tmp/apc.XXXXXX" apc.slam_defense = 0 apc.file_update_protection = 2 apc.enable_cli = 0 apc.max_file_size = 10M apc.stat = 1 apc.write_lock = 1 apc.report_autofilter = 0 apc.include_once_override = 0 ;apc.rfc1867 = 0 ;apc.rfc1867_prefix = "upload_" ;apc.rfc1867_name = "APC_UPLOAD_PROGRESS" ;apc.rfc1867_freq = 0 apc.localcache = 0 apc.localcache.size = 512 apc.coredump_unmap = 0 apc.stat_ctime = 0 

即使在禁用APC之后,在尝试login到Plesk CP时遇到了另一个错误:

 ERROR: Zend_Db_Statement_Exception SQLSTATE[HY000]: General error: 1 Can't create/write to file '/tmp/#sql_6d7_0.MYI' (Errcode: 13) 

我通过Plesk的Power Panel重新启动我的容器,解决了上述问题。 我认为它必须使用mount -o remount,exec /tmp来更改/tmpexec来解决通过pecl安装APC期间的权限错误。 安装完成后,我将/tmp返回给noexec 。 这些步骤的要点可以在这里find。

第一个错误仍然没有解决。

我目前正在运行:

  • CentOS 5.6
  • PHP 5.3.5
  • FastCGI的
  • 安装了APC 3.1.9

我不知道如何解决这个问题。 是因为使用最新版本的APC吗? 或apc.iniconfiguration? 在哪里启用APC扩展是否有关系? 即/etc/php.ini/etc/php.d/apc.ini

FastCGI和APC兼容性问题如何?

任何帮助或build议将不胜感激。

你有open_dir限制有效吗? 如果这是用户帐户,我会设置APC的tmp目录相对于用户主目录具有适当的权限。