2
ini_set('error_log', $custom_error_log_location);  
print ini_get('error_log');

上記のコードの結果?何もない!の値として文字通り何も出力しませんini_get('error_log')。これをApacheサーバーで実行しています。Web サイトの Apache 構成を調査しました。Apache 構成には、ErrorLog ディレクティブによる独自のエラー ログ設定があります。ここに問題があります: 私は同じサーバー上で同様の Apache 構成を使用して別の Web サイトを実行しており、そのサイトで PHP でカスタム エラー ログを指定できます。

サイトの php.ini ファイルも確認しました。そこにログインすることについては何もありません。私が知りたいのは、Apache または php.ini に、エラー ログ ファイルの場所を変更できないような構成があるかどうかです。

4

3 に答える 3

3

safe_modeまたはopen_basedirが有効な場合ini_set("error_log")は、これらの設定によって制限されます (開いたフ​​ァイルには で何でも書き込むことができるためerror_log())。

この制限はランタイムと の両方に適用されますが、ディレクティブを.htaccess使用して仮想ホスト構成ファイルに設定できます。php_value

于 2011-02-12T22:05:56.760 に答える
1

私が持っていたことがわかりましsafe_modeた、それだけです。

于 2011-02-13T00:01:22.683 に答える
1

設定は、どこにでも設定できるerror_log所属です。PHP_INI_ALLしたがって、コードに問題はありません。

「の値として何も出力しない」とは、空またはnullであるini_get('error_log')可能性があるため、印刷ではなく、デバッグ用にをお勧めします。$custom_error_log_locationvar_dump()$custom_error_log_locationini_get('error_log')

于 2011-02-12T20:24:43.217 に答える