奇妙なエラーが発生しました。 Fileinfoを使用してファイルのMIMEタイプを確認したい場合(http://www.php.net/manual/en/function.finfo-file.php)拡張、PHP(またはApache?以下を参照)がクラッシュしているようです。
パスワード:
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE, null);
$info = finfo_file($finfo, "index.php");
apache2を介してWebで開くと、エラーログにsegfaultが報告されます。
[Wed Oct 23 14:32:25 2013] [notice] child pid 29084 exit signal Segmentation fault (11)
たとえば、CLIで実行すると、php -q test.php
出力は良好です。
php -v
PHP 5.5.4-pl0-gentoo (cli) (built: Oct 18 2013 19:11:02)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
/usr/sbin/apache2 -v
Server version: Apache/2.2.25 (Unix)
Server built: Sep 20 2013 14:16:11
どんな手がかりがありますか?
答え1
解決策を試してみませんか?https://bugs.gentoo.org/show_bug.cgi?id=467756同様の問題があるようです。
apache2をmod_phpからphp-fpmを使用して切り替えて問題を解決した方法の追加の説明:
/etc/portage/package.useを編集し、dev-lang/phpに "fpm"有効フラグを追加します。
「emerge php」でphpを再マージしてください。
「emerge mod_fastcgi_handler」で fastcgi モジュールをインストールします。
/etc/conf.d/apache2 を編集して「-D FASTCGI_HANDLER」を追加し、「-D PHP5」を削除します。
/etc/php/fpm-php5.4/php-fpm.conf を編集し、「listen=/var/run/php-fpm.sock」を介してソケットを使用するように「listen」ステートメントを変更します。
/etc/apache2/modules.d/20_mod_fastcgi_handler.confを編集し、最後にAddHandlerを追加します。 fcgi:/var/run/php-fpm.sock .php .php5 .phtml .phps DirectoryIndex index.php index.phtmlApacheを再起動してphp-fpmを起動します
この手順を使用してphp-fpmに切り替えた後、Apacheの競合はすぐに消え、サンプルスクリプトが期待どおりに機能しました。だから私はmod_phpが犯人だと思う。
または、apr-utilsにUSE = nssを追加する必要があります。
PS問題のプログラムバージョンだけでなく、使用フラグも表示します。
PPS PHPにapache2使用フラグを追加することを忘れないでください(デフォルトではオフ)