ホームページ > php教程 > php手册 > jpgraph のインストールと構成チュートリアルの詳細な紹介

jpgraph のインストールと構成チュートリアルの詳細な紹介

WBOY
リリース: 2016-06-21 08:53:30
オリジナル
1087 人が閲覧しました

前の 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
2
3
4
5

1
2
3
4
5

root:/tmp> tar xzf jpgraph-2.5.tar.gz

root:/tmp> cp -r jpgraph-2.5 /usr/shar/php/

root:/tmp> ln -s /usr/shar/php/jpgraph-2.5 /usr/shar/php/jpgraph

root:/tmp> tar xzf jpgraph-2.5 .tar.gz

root:/tmp> cp -r jpgraph-2.5 /usr/shar/php/

root:/tmp> ln -s /usr/shar/php/jpgraph-2.5 /usr/shar/php/jpgraph

最後の 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

xx は特定の数字です。32MB、つまり に変更します。

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

デフォルトで設定されている PHP の最大実行時間は非常に短いです。だいたい10秒くらいです。一般的な対話やプレーン テキストの処理には十分です。ただし、大きくて複雑な画像の処理にはさらに時間がかかります。このため、PHP の最大実行時間を 20 秒以上に増やす必要があります。 (画像と関連するデータ処理の複雑さに応じて、30 ~ 40 秒に増やす必要があります) 同様に、php.ini 設定ファイルの max_execution_time オプションを変更する必要があります。これは になります。
1

max_execution_time = xx

に変更されました

1

max_execution_time = 30

1

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

1
2
3
4
5
6
7
8
9
10
11
12
13

zend.ze1_compatibility_mode = Off
zend引擎的兼容性可能会在使用jpgraph类库时出现问题

implicit_flush = On
此选项会降低性能同时在产品服务器上不应该使用。但是开启此选项会将所有输出尽可能输出至游览器编译尽快调试。

allow_call_time_pass_reference = Off

display_errors = On
确认显示所有错误信息

display_startup_errors = On
确保PHP抛出的任何初始化错误可及时报告。

error_reporting = E_ALL E_STRICT

注: エラー レベルに加えて、次のオプションを構成することをお勧めします
1
2
3
4
5
6
7
8
9
10
11
12
13

zend.ze1_compatibility_mode = オフ
Zend エンジンの互換性により、jpgraph クラス ライブラリを使用するときに問題が発生する可能性があります

implicit_flush = オン
このオプションはパフォーマンスを低下させるため、運用サーバーでは使用しないでください。ただし、このオプションをオンにすると、デバッグのためにすべての出力ができるだけ早くブラウザに出力されます。

allow_call_time_pass_reference = オフ

display_errors = オン
すべてのエラー メッセージが表示されることを確認します

display_startup_errors = オン
PHP によってスローされた初期化エラーがあれば、すぐに報告されるようにしてください。

デフォルトのタイムゾーンを設定します

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 を開き、

を見つけます。

1
2
3


define('DEFAULT_ERR_LOCALE','en');
?>

1
2
3


定義('DEFAULT_ERR_LOCALE', 'en');
?>

ただ変更を加えるだけです。

jpgraph クラスライブラリの設定ファイルを変更する以外に、各プログラムコード内で動的に呼び出して変更することもできます。方法は次のとおりです。

1
2
3


JpGraphError::SetErrLocale($aLocale);
?>

1
2
3


JpGraphError::SetErrLocale($ aロケール);
?>

製品サーバー上の jpgraph クラス ライブラリと PHP 構成手順

この部分のエンド ユーザーは訪問者であるため、いくつかの変更が必要です。そのほとんどは開発サーバーの jpgraph 構成と一致しています。

には 2 つの主な違いがあります。

適切なエラーレベルを有効にする

運用サーバーですべてのエラー メッセージを表示するのは賢明な決定ではありません。すべてのエラー メッセージを抑制し、ジャーナル ファイルに保存する必要があります。

1
2
3
4
5
6
7

display_errors = Off

display_startup_errors = Off

log_errors = On

error_log =

そこで、php.ini 設定ファイルの次のオプションを変更します

1
2
3
4
5
6
7

表示エラー = オフ

display_startup_errors = オフ

log_errors = オン

error_log = <ログファイル名>

ログ ファイルが保存されるディレクトリを指定します。

1
2
3


define('DEFAULT_ERR_LOCALE','prod');
?>

jpg-config-.inc.php を設定する

主なことは、jpgraph クラス ライブラリのエラー メッセージ オプションを prod に設定することです。つまり、

1
2
3


定義('DEFAULT_ERR_LOCALE', 'prod');
?>

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 転載の際は、元のソースとこの記述をリンクの形で明記してください。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート