前の 2 つの php jpgraph インストール チュートリアルを学習した後、jpgraph クラス ライブラリが PHP インストール環境の検証に合格している限り、jpgraph クラス ライブラリを正式にインストールできます。非常に便利です。確立された PHP 環境の関連ディレクトリに jpgraph クラス ライブラリをダウンロードするだけです。 jpgraph のインストール プロセスの鍵は、PHP 構成ファイル php.ini と jpgraph 構成ファイル jpg-config.inc.php の構成にあります。以下、jpgraph クラス ライブラリの英語ドキュメントに基づいて説明します。jpgraph クラス ライブラリを使用する PHP 開発者の参考になれば幸いです。
jpgraph クラス ライブラリのインストール
前回の jpgraph クラス ライブラリのインストール条件の検証に合格したら、jpgraph クラス ライブラリをインストールできます。いわゆるインストールとは、実際には、ファイルを解凍して、PHP プログラムで見つけられるディレクトリ構造にコピーすることを意味します。Unix システムでの非常に一般的なインストール ディレクトリは、/usr/share/php/, Windows システムには標準のインストール ディレクトリはありません。PHP 環境のインストールおよび構成時に設定したディレクトリに基づいて決定する必要があります。
ここで非常に重要な点は、PHP ステートメント require_once または include を使用すると、jpgraph クラス ライブラリを見つけることができるということです。 jpgraph の推奨インストールディレクトリ構造はjpgraph/ です。
Unix システムの tmp ディレクトリに jpgraph クラス ライブラリをダウンロードしたと仮定すると、Unix サーバー上のインストール コマンドは次のとおりです
1
|
root:/tmp> tar xzf jpgraph-2.5 .tar.gz |
最後の Unix コマンドは、実際の jpgraph バージョンのライブラリ ディレクトリの場所への接続を確立することを意味します。 jpgraph クラス ライブラリを別のディレクトリで使用する必要がある場合、各ディレクトリに jpgraph クラス ライブラリを配置する必要はなく、jpgraph クラス ライブラリを固定ディレクトリに格納し、ln コマンドを使用してリンクするだけで済みます。 (リンク) ディスク容量を繰り返し占有することなく使用できます。
PHP 開発サーバー上で jpgraph クラス ライブラリを構成する手順
php.ini 設定ファイルを設定します
PHP メモリを構成する
デフォルト設定のほとんどの PHP 環境では、jpgraph プログラムに十分なメモリがありません。大量のメモリを必要とするため、設定中に少なくとも 32M のメモリが必要です。 php.ini 設定ファイルを開き、
に移動します。
1 |
memory_limit = xx |
1 |
memory_limit = xx |
1 |
memory_limit = 32M |
1 |
memory_limit = 32M |
jpgraph クラス ライブラリによるメモリ使用に関する特別な命令
: 非常に大きな画像を作成する必要がある場合、たとえば、1200*1024 サイズを作成する必要があるとします。画像。つまり、これだけで 1200*1024*4 バイト、つまり 4.7MB の RAM が必要になります。php jpgraph クラス ライブラリが内部で処理される場合は、約 3 倍のメモリが必要となり、少なくとも 15MB の RAM が必要になります。 PHP と jpgraph クラス ライブラリ全体をロードし、それを動的に実行して解析するためにメモリが必要な場合、少なくとも 15MB の RAM が必要であることを意味します。画像が非常に複雑で、より多くのオブジェクトを作成する必要がある場合 (典型的な例は大規模なガント チャート)、メモリの 2 倍、つまり 64MB RAM が必要になります。 (実際、個人的には、この段落は、jpgraph クラス ライブラリを使用するときに処理する必要がある画像のサイズに基づいておおよそのメモリを計算する方法を説明していると思います)。
PHP 最大実行時間を構成します
1 |
max_execution_time = xx |
1 |
max_execution_time = xx |
が
に変更されました
|
max_execution_time = 30 |
php.ini 構成ファイルを開き、output_buffering オプションを見つけて、オプションを
1 |
; output_buffering = xx |
1 |
; Output_buffering = xx |
つまり、キャッシュされた出力をコメントアウトします。
キャッシュされた出力を無効にする理由は、PHP 開発中に jpgraph クラス ライブラリ内の潜在的なエラー メッセージを確認できるようにする必要があり、キャッシュをオンにするとエラー メッセージが時間内に表示されなくなるためです。これを理解するには、HTTP プロトコルの基本原則をいくつか知っておく必要があります。具体的には、MIME エンコードされたデータがどのように機能するか。
以下は HTTP プロトコルの簡単な説明です:
1. ブラウザに URI アドレスを入力すると、ブラウザは主に GET または POST コマンドを通じてサーバーにデータを要求します。
2. サーバーはデータ ストリームで応答します (データが利用できない場合はエラー メッセージが返されます)。データ ストリーム内のプレフィックス付き MIME 情報は、ブラウザにデータの解析方法を指示します。最も一般的に使用されるタイプは text/html です。つまり、HTML エンコーディングが埋め込まれたプレーン テキストのデータを解析するようにブラウザに指示します。
データが画像として解析されるように要求された場合、データ ストリームのプレフィックス MIME 情報は image/png または image/jpeg になります。ブラウザは MIME メッセージを受信すると、指定された画像エンコード形式で次の画像データを解析します。
ここで特別な注意が必要なのは、各サーバーは 1 つの MIME タイプにのみ応答できるということです。これは、動的なグラフィックスの生成をさらに理解するための鍵となります。これは、PHP プログラムを実行しているサーバーが、画像とテキストの両方を同時に送信するのではなく、データを画像として解釈する必要があることを最初に示すヘッダーを送信する理由の説明になります。
次に、出力バッファリングによって jpgraph ライブラリのデバッグが難しくなる理由を説明しましょう。
通常、PHP プログラムの出力はすべてシーケンシャルです。たとえば、ヘッダー情報を最初に送信し、次にデータを送信する必要があります。ヘッダー情報が出力されない場合、またはヘッダー情報のないテキストが出力された場合、ブラウザはそれを text/html 形式に解析します。キャッシュの目的の 1 つは、送信するヘッダー情報の種類を決定する際に、データを一定期間保存できるようにすることです。ヘッダー情報の送信後にデータが出力されます。
キャッシュを有効にすると、次のような状況が発生する可能性があります
1. プログラムの実行が開始され、画像の生成が開始されます。
2. 現時点では、PHP プログラムにいくつかの小さな問題が発生する可能性があります。これらのエラー メッセージはブラウザに直接出力されませんが、代わりにエラー メッセージをキャッシュに保存できます。その後、プログラムが画像ヘッダー情報と画像データの出力を開始すると、これらのデータは、以前にエラー情報が格納されていたバッファ領域に追加されます。
3. ブラウザがこのヘッダー情報を受信し、次のデータを画像に解析する必要がある場合、これらの画像データは以前のエラー メッセージと混在しているため、これらのデータの解析は失敗し、赤いバツ印 (FireFox) が表示されます。 キャッシュをオフにすると、jpgraph プログラムのデバッグ時のエラーメッセージがブラウザに出力され、対処が間に合うようになります。
適切なエラーチェックを有効にする
この部分では、PHP エラー報告レベルを調整する必要があります。 jpgraph ライブラリは、PHP エラー報告のすべてのレベルがオンになっている場合でも、安全に実行できます。
1 |
error_reporting = E_ALL E_STRICT |
に設定します。
1
|
error_reporting = E_ALL E_STRICT |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
zend.ze1_compatibility_mode = オフ |
デフォルトのタイムゾーンを設定します
PHP5.2以降、デフォルトのタイムゾーンが設定されていない場合、jpgraphクラスライブラリを使用する際にエラーが発生します。 php.ini 設定ファイルを開いて、date.timezone = を見つけて、Asia/Shanghai に変更するだけです。
jpg-config.inc.php を設定する
jpgraph の標準構成で説明されているフォント サポートのインストールと構成に加えて、開発サーバー専用の重要な jpgraph 構成が 1 つだけあります。それは、構成エラー メッセージ出力のローカライズです。
jpgraph 3.x バージョンは 3 つのオプションをサポートします
1. en (英語のエラーメッセージ)
2.de (ドイツ語のエラーメッセージ)
3. prod (製品サーバーに適用)
jpgraph クラス ライブラリ設定ファイル jpg-config.inc.php を開き、
を見つけます。
2 3 |
|
ただ変更を加えるだけです。
jpgraph クラスライブラリの設定ファイルを変更する以外に、各プログラムコード内で動的に呼び出して変更することもできます。方法は次のとおりです。
1 |
|
1 |
|
製品サーバー上の jpgraph クラス ライブラリと PHP 構成手順
この部分のエンド ユーザーは訪問者であるため、いくつかの変更が必要です。そのほとんどは開発サーバーの jpgraph 構成と一致しています。
には 2 つの主な違いがあります。適切なエラーレベルを有効にする
運用サーバーですべてのエラー メッセージを表示するのは賢明な決定ではありません。すべてのエラー メッセージを抑制し、ジャーナル ファイルに保存する必要があります。
1 |
display_errors = Off |
1 |
表示エラー = オフ |
ログ ファイルが保存されるディレクトリを指定します。
1 |
|
主なことは、jpgraph クラス ライブラリのエラー メッセージ オプションを prod に設定することです。つまり、
1 |
|
PHP インクルード パスを調整
主な変更方法は 2 つあり、1 つは PHP 設定ファイル php.ini を変更して include_path オプションを見つけ、jpgraph クラス ライブラリのインストール ディレクトリを追加する方法、もう 1 つは PHP の先頭に include_path を追加する方法です。 php_ini_set 関数を介してコードを作成します。
include_path の変更は主に、jpgraph.php ファイルをインクルードするために include または require_once を使用する際の利便性と均一性を目的としています。
この時点で、jpgraph クラス ライブラリの詳細なインストールと構成チュートリアルが紹介されました。PHP 構成ファイルと jpgraph 構成ファイルを変更することで、将来 jpgraph クラス ライブラリを使用するための強固な基盤を築くことができます。
注意: PHP Web サイト開発チュートリアル-leapsoul.cn 転載の際は、元のソースとこの記述をリンクの形で明記してください。