最適化とデバッグのテクニック、および PHP プログラマー向けのテクニック
プログラマー|プログラマー|テクニック|最適化
この記事では、Apache と PHP でエラー報告を有効にする方法や、単純な PHP スクリプトに print ステートメントを戦略的に配置してより困難なバグの原因を見つける方法など、PHP アプリケーションをデバッグするさまざまな方法について説明します。また、リアルタイム構文解析機能を備えた柔軟な開発環境である Eclipse 用の PHPEclipse プラグイン、および PHPEclipse 用の DBG デバッガー拡張機能についても学習します。
はじめに
コーディング時に大幅に時間を節約できる PHP デバッグ手法が多数あります。効果的かつ基本的なデバッグ手法は、エラー報告を有効にすることです。もう 1 つの少し高度なテクニックには、print ステートメントの使用が含まれます。これは、実際に画面に表示される内容を表示することで、見つけにくいバグを正確に特定するのに役立ちます。 PHPEclipse は、一般的な構文エラーを強調表示する Eclipse プラグインで、デバッガーと組み合わせて使用してブレークポイントを設定できます。
Setup
この記事で説明されている概念を学習するには、PHP、Web サーバー、および Eclipse が必要です。デバッガー拡張機能は、PHP バージョン V5.0.3 をサポートします。
PHPで作成されたページを解析してブラウザに表示するにはWebサーバーが必要です。この記事ではApache2を使用しています。ただし、どの Web サーバーでも十分です。
この記事で紹介したデバッグ手法の一部を利用するには、Eclipse V3.1.1 とプラグイン PHPEclipse V1.1.8 をインストールする必要があります。 Eclipse には Java® テクノロジが必要なため、それもダウンロードする必要があります。
PHPデバッガ拡張モジュールも必要です。取り付けは少し面倒です。デバッガー拡張機能のインストール手順に慎重に従ってください。次に、php.ini ファイル内の、PHP 拡張機能のロードと構成を必要とする行をコメント アウトします。デバッガを使用する必要がある場合は、コメントを解除してください。
ダウンロード情報については、「リソース」をご覧ください。次にエラーメッセージについてです。
エラーメッセージ
エラーメッセージは開発者としての防御の最前線です。エラー メッセージを表示するように構成されていないサーバー上で PHP でコードを開発したいと思う人はいません。ただし、コードをデバッグし、実行する準備ができたら、エラー レポートがオフになっていることを確認する必要があります。これは、サイト訪問者にエラー メッセージが表示されることを望まないためです。これにより、エラー メッセージを悪用するのに十分な情報が提供されてしまいます。サイトの弱点とサイトをハッキングします。
エラーをスローまたは生成した正しいコード行を表示するため、エラー メッセージを活用することもできます。このように、デバッグは、生成されたエラーが表示される行番号をブラウザーで調べ、コード内のその行を検査することになります。後で、PHPEclipse プラグインが、その場で構文エラーに下線を引いたり、ファイルを保存するときに赤い "x" でマークしたりすることで、開発やデバッグ中に非常に役立つことがわかります。
まず、エラーレポートを有効にし、php.ini ファイルでエラーレポートのレベルを設定する方法を見てみましょう。次に、Apache の構成ファイルでこれらの設定をオーバーライドする方法を学びます。
PHP Error Reporting
php.ini ファイルには多くの構成設定があります。 Linux に PHP および Apache 2 をインストールする手順 (「参考文献」を参照) に記載されているように、php.ini ファイルを設定し、適切なディレクトリに配置しておく必要があります。 PHP アプリケーションをデバッグするときに注意すべき構成変数が 2 つあります。 2 つの変数とそのデフォルト値は次のとおりです:
display_errors = Off error_reporting = E_ALL
これら 2 つの変数の現在のデフォルト値は、php.ini ファイル内で検索することで見つけることができます。 display_errors 変数の目的は明らかです。この変数は、エラーを表示するかどうかを PHP に指示します。デフォルト値はオフです。ただし、開発プロセスを容易にするために、この値を On に設定します:
display_errors = On
error_reporting 変数のデフォルト値は E_ALL です。この設定では、不適切なコーディング方法から無害なヒント、エラーに至るまで、あらゆるものが表示されます。 E_ALL は、ブラウザの出力を混乱させる小さな事柄 (初期化されていない変数など) についてのヒントも画面上に表示するため、開発目的には少し粒度が高すぎます。私が知りたいのはエラーと不適切なコーディング方法だけであり、無害なヒントは知りたいわけではありません。そこで、error_reporting のデフォルト値を次の値に置き換えてください:
error_reporting = E_ALL & ~E_NOTICE
Apache を再起動すれば準備完了です。次に、Apache で同じことを行う方法を学びます。
サーバー上のエラー報告
Apacheが行っている作業によっては、コンピュータ上に複数のバージョンのPHPが存在する可能性があるため、PHPでのエラー報告を有効にしても機能しない場合があります。 Apache は 1 つの php.ini ファイルしか参照できないため、Apache が使用している PHP バージョンを判断することが難しい場合があります。 Apache が自身の設定にどの php.ini ファイルを使用しているかわからないことは、セキュリティ上の問題です。ただし、正しいエラー レベルが設定されるように Apache で PHP 変数を構成する方法があります。
また、サーバー側でこれらの構成変数を設定して、php.ini ファイルをオーバーライドまたはプリエンプトして、より高いレベルのセキュリティを提供する方法を知っておくと良いでしょう。
在配置 Apache 时,应该已经接触过
要做在 php.ini 文件中已经做过的事,请把下列各行添加到 httpd.conf,覆盖任何 php.ini 文件:
php_flag display_errors on php_value error_reporting 2039
这会覆盖在 php.ini 文件中为 display_errors 已经设置的标志,以及 error_reporting 的值。值 2039 代表 E_ALL & ~E_NOTICE。如果愿意采用 E_ALL,请把值设为 2047。同样,还是要重启 Apache。
接下来,要在服务器上测试错误报告。
[1] [2] [3] [4] 下一页

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
