3

サーバーでエラーログを取得できないようです。ここで提案されているように、この説明のように仮想ホストをセットアップしました。

<VirtualHost *:80>
   ServerAdmin admin@server.com
   DocumentRoot /var/www/html
   ServerName www.server.com
   ServerAlias server.com
   LogFormat combined
   ErrorLog /var/log/apache2/server.com-error_log
   TransferLog /var/log/apache2/server.com-access_log
   php_flag log_errors on
   php_flag display_errors off
   php_value error_reporting 6143
   php_value error_log /var/log/apache2/server.com-php-error.log
   ...
</VirtualHost>

アクセスとエラー ログが正しく書き込まれると、php エラー ログ ファイルが作成され、他の 2 つのログ ファイルと同じ権限が付与されます。

また、このガイドに従って、php.ini、.htaccessファイル、およびスクリプトでログを設定しようとしました。

php -v
 PHP 5.2.10-2ubuntu6.10 with Suhosin-Patch 0.9.7 (cli) (built: May  2 2011 23:24:44) 
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

他に確認できる場所はありますか?vHost 構成は、他のサーバーで問題なく機能しました。

4

3 に答える 3

1

のパーミッションによるものと思われ/var/log/apache2ます。www-dataPHP は apache モジュールとして実行されているため、 (少なくとも ubuntu では) ユーザーとして実行されていることを考慮してください。したがって、このユーザーには、少なくとも/var/log/apache2ログ ファイルに対する実行権限と書き込み権限が必要です。さらに、実行権限と書き込み権限が/var/log/apache2必要です (必要に応じて新しいログ ファイルを作成できるようにするため)。

そのため、php ログを別のフォルダーに保存するか、www-dataユーザーが書き込み可能にすることができます (後者の場合、/etc/logrotate.d/apache2ファイルを編集して、ローテーション後の新しいログファイルがユーザーによって所有されるようにすることもできwww-dataます。

于 2012-09-24T14:17:05.273 に答える
1

PHP スクリプトに次のように入力します。

error_reporting(E_ALL);
ini_set('display_errors', true);

エラーと警告が出力されるよりも

于 2012-09-24T14:38:50.210 に答える
0

PHP ログのデフォルトの場所を試してください: /var/log/php.log

于 2012-09-24T14:21:29.353 に答える