2012-05-08 20 views
4

私の会社は大規模なホスティングを持っていますが、私たちによって管理されていないため、設定ファイルは表示されません。フォルダでerror_logを設定するにはどうすればいいですか

私の会社では新しいですが、いくつかの未成年者や専攻の問題をクライアントに修正するためにいくつかのデバッグを開始したいのですが、ファイルの量は非常に多く、単一のerror_fileが巨大です。時間のチェックログ(30秒から1分のような)は数百の追加された行を持っています。 EDIT - -

I私はこれは、Apacheの設定がある場合

私はこの

上の任意のヒントを感謝します.htaccessファイルを介して、あるいはphp.iniの上、知らない

PHPのエラーについて話していますが、これはPHPやApacheや多分サードパーティのライブラリを使用して設定されている場合、私は知らないどのように言う。

私は特定のフォルダerror_logを設定することについて話していません、私は話しているエラーがスクリプトフォルダに記録されています。

例:いくつかのエラーをスローするバグのあるPHPスクリプトを作成します。スクリプトを実行すると、フォルダに作成されたerror_logファイルが表示されます。だからそれはその場で動作します。

私は彼らがどのようにこれをやっているのか、彼らは私に答えることはできません。私は多分(通常..うまくカントは技術的なものを扱うサポートのレベル1ところで、この質問のいずれかを理解しdoesntのサポートスタッフをホスティングけど)

+0

あなたはApacheエラーではなく、PHPエラーについて話しています。 –

答えて

12

私は他の誰かがこれを使用する必要がある場合は知らないけどそれを見つけた。

あなたはPHPで設定する必要があります。右側のフォロー、文字列「のerror_log」としてiniファイルのディレクティブは、私がよ

、これはスクリプトである実行フォルダにPHPのエラーログを生成します

error_log = error_log 

uはログ用するファイル名ですその同じディレクトリに置かれていないdb_conn.php、これは警告やエラー、通常トンを発射する場合は、フォルダ/ www /のサイト/ libに

include "./db_conn.php"; 

スクリプトtest.phpをを説明しよう彼はserve/vhostログにつながりますが、このディレクティブを使用すると、/ www/site/libディレクトリの下にerror_logファイルが作成されます。

私が探していたのはなぜか、私は巨大なアプリケーションに取り組んでいると書いていました。何千ものファイルが警告や通知などを起こしていました。プロジェクトやサイトの唯一のものではありません。 1つまたはいくつかのファイルのデバッグの進化を追跡し続けるのは難しいですが、今は私が作業中のディレクトリからログを追跡するだけです。

私はこれが誰にとっても役立つことを願っています。 sugestionsをありがとう、私の英語を許してもそれほど良くない

0

あなたが管理することができますCPanelの設定のいくつかの種類のことができれば知らない


詳細については、お使いのバーチャルホストまたはhtaccessの

ErrorLog /path/to/a/writable/directory/error.log 

にこれを追加することにより、ログはこのarticle on advanced php error handling via htaccess

+0

私は、どのようにこのフォルダにエラーフォームスクリプトを表示することができますので、各フォルダ内のログを取得する方法を探して、私は、エラーを設定する方法を知っている –

0

を見てはでこれを行うには持っていますPHP、php.iniを編集して行を追加する

error_log = /path/to/where/you/want/your/php-errors.log 

その後、Webサーバーを再起動してください。これにより、PHPエラーのみがPHPファイルに出力されます。もちろん、スクリプトはすべてのエラーをなくすように書かれているわけではありません。

Apacheで行うには、SetEnvIfを使用して、phpで終わる要求に環境変数を追加し、その特定の環境変数ですべてのログを出力することができます。例:

SetEnvIf Request_URI "\.php$" phplog 
CustomLog /path/to/php.log env=phplog 

このように、フォルダごとに環境変数やフォルダごとに1つのCustomLogを行い、複数のフォルダにこれを使用するには:

SetEnvIf Request_URI "/folder1/.*\.php$" log_folder1 
Customlog /path/to/folder1/php.log env=log_folder1 

SetEnvIf Request_URI "/folder2/.*\.php$" log_folder2 
Customlog /path/to/folder2/php.log env=log_folder2 
+0

それは正しい方法は、とにかくありがとう、 –

+0

その場合、私が言うことができるのは、あなたが何を望んでいるのか分かりません。私はあなたが "エラーがスクリプトフォルダに記録されている"ということを理解していません。特定のフォルダ内のすべてのスクリプトを特定のフォルダ内のファイルに記録したい場合は、そのフォルダ内の環境に応じて環境を設定し、各フォルダにCustomLogを設定することでSetEnvIfでこれを行うことができます。しかし、これはPHPログではなくApacheログを提供します。 –

+0

私が意味することは、スクリプトによって生成されたエラーは、スクリプトが存在しないフォルダ内のerror_logファイルに各フォルダのルールが記録されていることです。私のホスティング会社からこの動作を返信またはコピーしたいのですが、しかし、これは、新しいフォルダと新しいファイルを内部に作成すると、エラーが発生します。自動的にerror_logがこの新しいフォルダに作成され、内部にログインしますが、ApacheやPHP、またはCpanelの設定がわからないために起こった場合、私は何を探していますか? –

関連する問題