2

我昨晚将我的 centos 机器上的 PHP 升级到 5.3.19,现在我的应用程序的某些部分(尤其是在提交运行多个较大查询的表单时)我在 /var/log/httpd/error_log 中收到以下错误

child pid xxxx exit signal Segmentation fault (11)

在 Chrome 中,它显示以下内容 在此处输入图像描述

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

更新:这里描述了问题,但我不确定解决方案。我们加载一个相当大的 SQL 文件并逐步运行其中的每个查询,如果我没记错的话,这就是“递归”部分:http: //bitdepth.thomasrutter.com/2010/05/16/php-递归原因分段错误/

4

1 回答 1

2

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

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

要找出可以手动编译的模块,请将/etc/php.d文件夹中的 ini 文件与

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

于 2012-11-25T21:28:23.363 回答