2012-11-25 50 views
2

我已经在我的centos机器上升级PHP到5.3.19昨晚,现在我的应用程序的某些部分(特别是当提交表单运行较大的查询数)我得到以下错误在/ var /日志/的httpd/error_log中孩子pid退出信号分段错误(11)升级到PHP后5.3.19

child pid xxxx exit signal Segmentation fault (11) 

在Chrome中,它显示了以下 enter image description here

有谁知道如何解决这个问题,或者甚至如何通过使用YUM恢复到以前版本的PHP。

更新:这里描述的问题,但我不知道解决方案。我们加载一个相当大的SQL文件,并逐步运行其中的每个查询,这是“递归”部分,如果我没有弄错:http://bitdepth.thomasrutter.com/2010/05/16/php-recursion-causes-segmentation-fault/

+0

为什么不尝试升级到5.4,也许这将解决问题... – SimonW

回答

2

我不认为递归是一个问题在这里。如果是这样的话,你的脚本很可能会在更新之前导致相同的问题。

其中一个php模块可能不是最新的。更新之前是否使用pear手动编译或安装模块?如果是这样,那么这些模块必须重新编译为新的PHP版本。

要了解哪些模块可以手动编译时,INI文件在你的/etc/php.d文件夹的

yum list installed | grep "php" 

输出比较列出全部定期安装了PHP相关的软件包不应该在更新后出现问题了

要找出哪些软件包,你可能会使用PECL你也可以运行该安装:

# pecl list 
Installed packages, channel pecl.php.net: 
========================================= 
Package Version State 
memcached 2.1.0 stable 
ssh2  0.11.3 beta 

如果你会得到这样的更新列表,使用

pecl upgrade-all 

如果您有不与PECL安装,而不是使用yum这些模块是手工编撰的,需要重新编译

在这种情况下安装有源模块这些模块你可以按照批准的答案这里的步骤 https://serverfault.com/questions/261268/how-to-build-missing-php-5-3-extensions-on-centos-5-6

相关问题