APC在通过php5-cgi执行的symfony下导致HTTP500错误代码


APC causing an HTTP 500 error code under symfony executed through php5-cgi

我目前正在通过mod_fastcgi执行PHP(当然是在Apache下),当我在PHP.ini配置文件中启用APC时,symfony会随机向我抛出500个错误。

当我在Apache重新启动后第一次调用app.phpapp_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 上