ApacheとPHPを搭載したCentOS6サーバーがあります。私はいくつかのアプリケーションを実行し、このクラッシュを常に再現できます。いくつかの順次アクションの後、アプリが停止し、私が見つけた唯一のトレースは、error_log内の次のメッセージです。
[Tue Jan 05 16:39:45 2016] [notice] child pid 1636 exit signal Illegal instruction (4)
同じアプリを別のホストにインストールしましたが、動作します。このため、問題はOSまたはApacheの構成にあると思います。このプロセスを強制終了する理由は何でしょうか?
更新1:両方のホストでmemory_limitが128Mに設定されています
アップデート2: SElinuxを無効にしても問題は解決しません
更新3:pcre-7.8
からpcre-8.13
への更新は役に立ちません
数日前、仮想サーバーのRackspaceでホストされているWordpress 5.3.3で実行されているPHP 4サイトで、この同じエラーが発生し始めました。数年。現在CentOS6.8を実行しており、多くのOSとWordpressアップデート-CentOS5.xから始めたと思います!
とにかく、最初にPHP(5.3.3でCentOS 6.xによって保持されている)をアップグレードしようとしましたが、サードパーティの「remi」yumリポジトリを使用しました。
レミのRPMリポジトリ-ブログ: http://blog.famillecollet.com/pages/Config-en
PHP 5.6.22にアップグレードできます
それでも問題は解決しませんでしたが、エラーメッセージは改善されました。これで、Apacheログはサイレント(!)になりましたが、/ var/log/messagesは、Wordpress管理ページ:
kernel: php[23199] trap invalid opcode
ip:7ffa1074ad60 sp:7fff8bff6268 error:0
in libfreeblpriv3.so[7ffa106f8000+72000]
そして、それらの興味深い単語のほとんどをグーグルで検索し(数字はそれほど多くなく、他のバイナリにも同様のヒットがたくさんあったので「libfreeblpriv3.so」を引用)、このCentOSバグレポートとディスカッションにつながりました。
010930:curl-> centos 6.8アップデート後の不正な命令-CentOSバグトラッカー: http://bugs.centos.org/view.php?id=10930#c26717
犯人を特定した:curl!
この問題の突然の発生は、oldOpenStackハイパーバイザー(たとえば、何年も更新する必要があった古いRackspaceインスタンス)と(明らかに)競合する最近のcurlライブラリyum-updateが原因でした。以前は仮想マシンの新しい「フレーバー」に)そしてWordpressがcurlを使用して何かをダウンロードしようとすると、phpがクラッシュし、Apacheプロセスが一緒に削除されました。
コメント(スレッドのかなり下の方)が修正を釘付けにしましたが、これは私にとってはうまくいきました:
# How to downgrade curl:
# (updated with corrected links after those went all 404 on me)
wget http://vault.centos.org/6.7/os/x86_64/Packages/curl-7.19.7-46.el6.x86_64.rpm
wget http://vault.centos.org/6.7/os/x86_64/Packages/libcurl-7.19.7-46.el6.x86_64.rpm
rpm -Uvh --oldpackage curl-7.19.7-46.el6.x86_64.rpm
rpm -Uvh --oldpackage libcurl-7.19.7-46.el6.x86_64.rpm
yum install -y yum-plugin-versionlock
yum versionlock curl
yum versionlock libcurl
service httpd restart
この後、私はApacheを再起動しました、そしてそれはすべて再び良かったです:-)
これは、nssパッケージのCentOSからの最後の更新が原因です。また、Apacheがパニックに陥りました。パッケージをダウングレードする手順は次のとおりです。
export NSS_DISABLE_HW_AES=1
yum -y downgrade nss nss-util nss-tools nss-sysinit
yum -y install yum-plugin-versionlock
yum versionlock add! nss-3.21.0-8.el6.x86_64 nss-sysinit-3.21.0-8.el6.x86_64 nss-tools-3.21.0-8.el6.x86_64 nss-util-3.21.0-2.el6.x86_64