ApacheとPHPがインストールされたCentOS 6サーバーがあります。いくつかのアプリケーションを実行しましたが、この競合が再現される可能性があります。いくつかの連続操作の後にアプリケーションが終了し、私が見つけた唯一のトレースはerror_logの次のメッセージです。
[Tue Jan 05 16:39:45 2016] [notice] child pid 1636 exit signal Illegal instruction (4)
同じアプリケーションを別のホストにインストールしましたが、うまくいきます。だから問題はオペレーティングシステムやApache設定にあると思います。このプロセスを終了するのはなぜですか?
アップデート1:両方のホストのmemory_limitは128Mに設定されます。
アップデート2:SElinuxを無効にしても問題は解決しません。
アップデート3:pcre-7.8
からまでの更新はpcre-8.13
役に立ちませんでした。
答え1
数日前、数年間、Rackspaceの仮想サーバーでホストされていたPHP 5.3.3を実行しているWordPress 4 Webサイトで突然同じエラーが発生し始めました。私は現在CentOS 6.8を実行しており、多くのOSとWordPressのアップデートが行われています。 CentOS 5.xで始まったようです!
とにかく最初はPHPのアップグレードを試みましたが(CentOS 6.x 5.3.3で維持されています)、サードパーティの「remi」yumリポジトリを使用しました。
RemiのRPMリポジトリ - ブログ: http://blog.famillecollet.com/pages/Config-en
これにより、PHP 5.6.22にアップグレードしました。
問題は解決されませんでしたが、エラーメッセージが改善されました。 Apacheログは自動的に保持されますが、(!)WordPress管理ページ/var/log/messagesをクリックするたびに、次のように表示されます。
kernel: php[23199] trap invalid opcode
ip:7ffa1074ad60 sp:7fff8bff6268 error:0
in libfreeblpriv3.so[7ffa106f8000+72000]
そして、ほとんどの興味深い単語(数字が多くなく、他のバイナリに対する同様のヒットが多いため、「libfreeblpriv3.so」の引用)をGoogleで検索すると、CentOSのバグレポートやディスカッションが発生します。
010930:カール - > centos 6.8アップデート後に不正なコマンド - CentOSバグトラッカー:http://bugs.centos.org/view.php?id=10930#c26717
犯人が確認されました:カール!
この問題が突然現れるのは、最近のカールライブラリyum-update(明らかに)によるものです。古いOpenStackハイパーバイザー(たとえば、数年前に新しいVM「バージョン」に更新する必要があった老化したRackspaceインスタンス)は、WordPressがカールを使用して何かをダウンロードしようとするたびに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を再起動したところ、すべてが正常に戻りました。 :-)
答え2
これは、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