最初にphantomjsをインストールしてから、highcharts-phantomjsを使用する必要があります。PhpとPhantomJS
phatomjs lib\highcharts-convert.js -infile pathToInFile.json -outfile pathToOutFile.jpg
が、問題スタート私はこの前に
exec('phatomjs lib\highcharts-convert.js -infile pathToInFile.json -outfile pathToOutFile.jpg')
のようなPHPコードでファントムを使用するときには、あるので、私は、作業ディレクトリを変更します。私はphantomjsは、Linuxのターミナルを形成する(Ubuntuの16.04)の例を使用する場合はすべてが正常に動作します問題ない! 私はエラー
QXcbConnection: Could not connect to display
を取得するPHPでこれを実行すると、私は最初のコマンドでこれを追加し、インターネットからいくつかの解決策を試してみてください。
QT_QPA_PLATFORM="offscreen"
が、これは両方の場合でhigchartsにラベルをレンダリングされません。 (端末とPHPプログラム)!
その後、私はXCBをインストールしてQT_QPA_PLATFORM="xcb"
と試みるが、私はXVFBを備え付ける終わり
を始めてから、同じエラーを持って、
exec('xvfb-run phatomjs lib\highcharts-convert.js -infile pathToInFile.json -outfile pathToOutFile.jpg')
でコマンドを実行しますが、これは大幅に時間を増やすので、時間がレンダリングします絵は3s以上です!
解決方法はありますか?
PhantomJSでは3秒間OKです。あなたは以前より良い結果を得ましたか? – Vaviloff
はい、もしxvfbの実行時間なしでCLIのphpで直接使用すると、秒未満です!問題はこれが1つの写真のためだけですが、ダウンロードによっては20以上のチャートがある可能性があります。 QT_QPA_PLATFORM = "オフスクリーン"応答を使用する場合、約半分の時間ですが、ファントムはデータをレンダリングしますが、グラフにはラベルがありません! phatnomの後のすべてのグラフはPDFにレンダリングされますが、すでに作成された画像を使用すると速度の問題はありません。 – squareCircle