みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PHPグラフ作成について

今PHPでGDを使い円グラフを作成しようとしていますが
うまくいきません.
環境はwindowsで,PHPversion 5.2.3です.

GDを使うためには,
PHP.iniの
extension=php_gd2.dllの行からコメントをはずして
Apacheを再起動すると本に書いてありましたので,

PHP.iniの
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_ifx.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension_dir=C:\program Files\PHP\ext
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pgsql.dll
extension=php_pspell.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll
のコメントをはずし,

Apacheをrestartしました.
しかし,グラフをつくるプログラムを書いて実行すると,
Warning: require_once(jpgraph/jpgraph.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\prog\traning\piegraph.php on line 11

Fatal error: require_once() [function.require]: Failed opening required 'jpgraph/jpgraph.php' (include_path='.;C:\Program Files\PHP\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\prog\traning\piegraph.php on line 11
のようなエラーが出てしまいます.

これはGDがきちんとインストールされていないから,
このようなエラーがでるのでしょうか?

もしそうであればGDをインストールする方法をご存知の方や
解決方法をご存知の方いらっしゃいましたら
いらっしゃいましたら教えていただけないでしょうか?
お願いします.

投稿日時 - 2009-10-05 17:22:34

QNo.5344005

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>このファイルの記述をサイトに書いてあったように修正しましたが,エラーがでてうまくいきません.

どんなエラーなんでしょうね…。

ちなみにjpGraphって内部エンコードがEUC-JPじゃないと上手く動かなかったと思うんですが、自分の修正履歴を見ると、gd_image.inc.phpのStrokeTextという関数の中で(1057行)、
$txt = mb_convert_encoding( $txt, "EUC-JP", "UTF-8");
というコンバートを入れているんですが(UTF-8は自分の内部エンコード環境に合わせて適宜変更)、違うかな…?

後、余計な情報ですが、アシアルで日本語版も売ってます。
http://www.asial.co.jp/jpgraph/

コミュニティ版なら非営利であれば無償ですね。
http://www.asial.co.jp/jpgraph/download.php

No.3の方が言うように、PEAR::Image_Graphを使うのも手です。多分同じGDで動くはずですが、ちょっとデザインがしょぼいのと、メンテナンスされてないパッケージです。
http://pear.php.net/package/Image_Graph/download

投稿日時 - 2009-10-07 08:34:08

ANo.3

>JpGraphはインストール済みでしょうか。
JpGraphは商用利用においてライセンス料金が発生してめんどくさいのでPEAR::Image_Graphの方でも使った方がいいでしょう。

投稿日時 - 2009-10-06 15:38:30

ANo.2

ちなみに、JpGraphはインストール済みでしょうか。

以下のサイトが役に立ちます。
http://www.phpbook.jp/jpgraph/install/index.html

投稿日時 - 2009-10-05 19:09:23

お礼

ありがとうございます.
GDとJpGraphは同じものだと勘違いしてしまい.
紹介していただいたサイトをもとにJpGraph3.04をインストールしました.
動作確認もうまくいきました.

しかし日本語設定がうまくいきません.
紹介していただいたサイトでは,
jpg-config.inc.phpの
(1)
----------------------------------------------------------
// DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
// DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
// DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/");
----------------------------------------------------------

(2)
----------------------------------------------------------
// Japanese TrueType font used with FF_MINCHO, FF_PMINCHO, FF_GOTHIC, FF_PGOTHIC
DEFINE('MINCHO_TTF_FONT','ipam.ttf');
DEFINE('PMINCHO_TTF_FONT','ipamp.ttf');
DEFINE('GOTHIC_TTF_FONT','ipag.ttf');
DEFINE('PGOTHIC_TTF_FONT','ipagp.ttf');
----------------------------------------------------------
を修正すると書いてありました.

しかし私がインストールしたJpGraphのjpg-config.inc.phpには
(1)の記述しかなく
(2)の記述はjpgraph_ttf.inc.phpという別のファイルにありました.
このファイルの記述をサイトに書いてあったように修正しましたが,
エラーがでてうまくいきません.
もし解決方法をご存知であればお願いします.

投稿日時 - 2009-10-06 12:38:09

ANo.1

extensionは必要な所だけコメントアウトしてください。

php_gd2.dllはちゃんと存在しますか?
存在するところに、extension_dirは通ってますか?(php.ini)
phpinfo()の結果では、gdは利用可能になっていますか?

投稿日時 - 2009-10-05 17:30:49

補足

コメントありがとうございます.
php_gd2.dll(C:\Program Files\PHP\ext)は存在しています.

またphp.iniに以下のように書いてありましたので
その場所にextension_dirはきちんと通っていると考えられます.
extension_dir=C:\program Files\PHP\ext

php.info()を見ると
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
のようになっておりますので利用可能になっていると思います.

php.iniのコメントアウトに関しては
本の書いてあったところのコメントアウトをはずしたので,
間違いはないと思います.

投稿日時 - 2009-10-05 17:33:05