3

iis7 での php エラー報告に関するさまざまな質問に目を通しましたが、問題を解決できませんでした。

PHP ini ファイルでエラー報告をオフにしています (このサーバー上の多くのサイトは IIS 6 から転送され、これらのサイトは警告などを生成していました)。

サイトごとにエラー報告を有効にする必要があるので、次のスレッドを見ました: PHP で有用なエラー メッセージを取得するにはどうすればよいですか? 私は.htaccessに追加しようとしました:

# PHP error handling for development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log \inetpub\vhosts\camerich.co.uk\subdomains\2012\httpdocs\PHP_errors.log
php_value error_reporting 999999999
php_value error_reporting -1
php_value log_errors_max_len 0

<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

そして私のphpファイルに追加されました: error_reporting(E_ALL); ini_set('display_errors', '1');

エラー500内部サーバーエラーだけが表示されるエラーはまだ表示されていません。リモートデスクトップ接続を介してサーバーにログオンしているときにサイトを閲覧すると、エラーが発生しますが、サイトを開発しているクライアントの場合、これらのエラーを表示するためにサーバーへのルートアクセスを明らかにしたくありません。

私が欠けているものはありますか?私の質問は次のとおりです。

上記で詳しく説明した手順は正しいですか?(私はヘリコンエイプを使っています)

htaccess を変更した後、iis7 を再起動する必要がありますか、それともサイトを再起動するだけで十分ですか?

ログ ファイルも生成されません。ログ ファイルへのパスは、ドライブ文字を含むフル パスを含みますか? または、パスがどうあるべきか、たとえば、このフォルダーに私のウェブサイトがあるとします: D:\inetpub\vhosts\mydomain\subdomains\2012\httpdocs ログファイルへのパスとして何を入力する必要がありますか。

私の問題を読むために時間を割いてくれてありがとう。

4

2 に答える 2

0

エラー報告の問題を解決したこの記事を見つけました:

http://www.inetnj.com/?page_id=232

サイトごとのエラー報告はaspパネルによって制御されているようで、phpを使用している場合は混乱します。これはphp設定のどこかにあると思いました。

Web サイト (Classic ASP、ASP.NET、または PHP5) をデバッグしているときに、ブラウザーで発生したエラーのレポートを表示したいと考えています。そのためには、IIS7 で明示的エラー報告を有効にする必要があります。

管理者ツールからインターネット インフォメーション サービス (IIS) マネージャーを開きます。

左ペインのツリーから Web サイトをクリックし、中央のパネルで ASP をダブルクリックします。

[Debugging Properties] の下で、[Send Errors to Browser] オプションを True に設定します。

于 2012-10-26T11:38:04.290 に答える
-1

.htaccessファイルはIISでは役に立たず、Apacheサーバーの構成ファイルです。IISにはPHP構成の拡張機能があり、それを(たとえば、Webインストーラーから)インストールすると、エラー報告を構成できます(もちろん、php.iniを直接使用できます)。

于 2012-10-26T10:44:22.807 に答える