我在 Debian Wheezy 专用服务器上运行 Prestashop 1.6.0.9,该服务器上装有 Apache2 和 PHP 5.4,配备 APC 以及 32Gb 内存。
商店在不使用 APC 的情况下完美运行,但是当我启用这个小家伙时,2-3 小时后,我遇到了这个问题:
FastCGI: server "/var/www/xxxxx/cgi-bin/php5-fcgi-*-80-xxxxx.eu" stderr: PHP message: PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/xxxxx/classes/cache/CacheApc.php on line 50
一小时后,出现代码 500:
FastCGI: comm with server "/var/www/xxxxx/cgi-bin/php5-fcgi-*-80-xxxxx.eu" aborted: idle timeout (3000 sec)
在此文件的第 50 行:
protected function _set($key, $value, $ttl = 0)
{
return apc_store($key, $value, $ttl);
}
PHP APC 配置基于此指南:http://gregrickaby.com/the-perfect-apc-configuration/
我只是做了一些改动以适应我的系统。我允许 shm_size 为 2Gb(服务器上有 32Gb 可用),并将 mmap_file_mask 更改为 /var/temp(创建文件夹并授予 root 权限)。
我不明白 APC 出了什么问题。它运行了几个小时,但每次都出现这个大问题!