PHP7.3以降でJpgraphのグラフが出ない

JpGraph Error: 25092

* 本ページはプロモーションが含まれています

執筆時(2021.10)において、最新版の4.3.5では下記の不具合が解消されているようです。

PHP7.2に対応となってますが、製品情報では7.4まで対応と書かれてて、どちらが正しいのか?? 正常に動作するのなら構わないけど。

下記、旧記事は参考のため残しておきます


不具合症状 

Apache2.4+PHP7.3+Jpgraph4.3.1の環境下において、JpGraph Error: 25092のエラーにより、グラフが出力されなくなった

エラーの内容を見ると、フォントや設定を見直せみたいな事が書かれてる

確認 

  • php.ini
# vi /etc/php.ini
include_path = ".:/var/www/jpgraph"
  • jpg-config.inc.php
define('USE_CACHE',true);
define('CACHE_DIR','/var/cache/jpgraph/‘);
define('READ_CACHE',true);
  • 属性確認
# chown apache:apache -R /var/cache/jpgraph/

確認しても、症状変わらず

PHP7.3は未対応? 

Jpgraphをダウンロードした際に、Examples内にサンプルがあるので、確認したところ、やはりサンプルファイルでもグラフ出力が出来ない

Jpgraphの公式サイトを見ると、Jpgraph 4.3.x以降でPHP7.4をサポートしているが、NoteにはPHP7.2までしか明記されてないので、PHP7.3は未対応なの?

テスト環境で、PHP7.4を試してみたところ、やはりグラフ出力が出来ないので、今現在PHP7.3以降は未対応なのではないだろうか?

解決方法 

下記に解決の糸口を見つける有益な情報がありました

jpgraphのgd_image.inc.phpにパッチを当てることで、PHP7.3,7.4でとりあえず正常に動作するようになった。
(パッチ当てるのが分からなかったり、面倒くさい方は、gd-Image.inc.phpを入れ替えるだけでも良い)

要するにGD関連のエラーのようですね

php 

See also