2017-03-28 4 views
0

最初に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以上です!

解決方法はありますか?

+0

PhantomJSでは3秒間OKです。あなたは以前より良い結果を得ましたか? – Vaviloff

+0

はい、もしxvfbの実行時間なしでCLIのphpで直接使用すると、秒未満です!問題はこれが1つの写真のためだけですが、ダウンロードによっては20以上のチャートがある可能性があります。 QT_QPA_PLATFORM = "オフスクリーン"応答を使用する場合、約半分の時間ですが、ファントムはデータをレンダリングしますが、グラフにはラベルがありません! phatnomの後のすべてのグラフはPDFにレンダリングされますが、すでに作成された画像を使用すると速度の問題はありません。 – squareCircle

答えて

0

ここで、ファントムチームがベータ版phantom downloadで利用可能なものを修正しました!だから誰かが最初にファントムをアンインストールしたりアップデートしたりするのに役立ちます。代わりにnpmでインストールしませんでした。バイナリパッケージを使用していますinstall tutorial

関連する問題