我目前正在通过mod_fastcgi执行PHP(当然是在Apache下),当我在PHP.ini配置文件中启用APC时,symfony会随机向我抛出500个错误。
当我在Apache重新启动后第一次调用app.php
或app_dev.php
时,它运行良好,但是,任何后续的重新加载都会导致500错误。
以下是Apache、的一些日志
FastCGI: incomplete headers (0 bytes) received from server "/var/www/bin/php-fastcgi"
Connection reset by peer: [client ******:18656] FastCGI: comm with server "/var/www/bin/php-fastcgi" aborted: read failed
FastCGI: incomplete headers (0 bytes) received from server "/var/www/bin/php-fastcgi"
/var/www/bin/php-fastcgi
是我的包装:
#!/bin/sh
PHP_FCGI_CHILDREN=5
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS
umask 0022
exec /usr/local/bin/php-cgi -d apc.shm_size=16M
如果你有任何线索,请告诉我,任何帮助都将不胜感激!
更新:如果需要,这里是我的phpinfo()
:https://pobourgeois.com/?phpinfo
更新2:我认为我的问题可能在symfony中,因为我的所有其他网站都加载良好。使用APC时,我需要Symphony中的任何特殊配置吗?
我通过直接从SVN编译APC,自己解决了这个问题。(非常感谢梅尔林!)
如果有人遇到同样的问题,以下是使一切协同工作的步骤:
$ svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk
$ cd apc-trunk/
$ ./configure --enable-apc --with-php-config=/usr/local/bin/php-config
$ make
$ make test (optional)
$ make install
另外,不要忘记在php.ini文件中加载新的扩展名,然后重新启动Web服务器。
就这样!
对我来说
$phpize之前
$/配置缺少
它修复了我的错误符号2500 Apache2之后一个第一请求
在Linux 64位Ubuntu 12.10 上