前提・実現したいこと
コマンドプロンプトで叩いて結果が得られるコマンドをPHP側から実行すると結果が得られません。
何が間違っているかわからず困っています。
現在バーコード読み取り用Zxfingのjavaのライブラリを使ってPHPからバーコード読み取りのバッチを作っています。
今回以下のコマンドをwindowsコマンドプロンプトで叩くと結果がえられることを
確認しました
//コマンド C:\>java -cp C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\javase-3.3.3.jar;C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\core-3.3.3.jar;C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\jcommander-1.72.jar com.google.zxing.client.j2se.CommandLineRunner file:/C:/xampp/htdocs/localhost/vendor/php-zxing-master/src/images/test.png (format: EAN_8, type: PRODUCT): //結果(画像のバーコードの数値、座標が取得できました) Raw result: 12345670 Parsed result: 12345670 Found 2 result points. Point 0: (51.0,92.0) Point 1: (307.0,92.0)
発生している問題・エラーメッセージ
PHP側で以下のようにプログラミングしました
PHP
1//実行したいコマンド(コマンドプロンプトで叩いたものと同じ) 2$command = 'java -cp C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\javase-3.3.3.jar;C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\core-3.3.3.jar;C:\xampp\htdocs\localhost\vendor\php-zxing-master\src\bin\jcommander-1.72.jar com.google.zxing.client.j2se.CommandLineRunner file:/C:/xampp/htdocs/localhost/vendor/php-zxing-master/src/images/test.png 3 4 5//コマンド実行 6$ret = exec($command, $out,$res);
var_dumpで結果を吐き出すと以下でした
$ret=”” $out=空のarray $res=1
が帰ってきてしまいます。
試したこと
コマンドで直叩きだと結果は得られるのですが、
PHP側から実行すると結果としてほしい情報
Raw result: 12345670 Parsed result: 12345670 Found 2 result points. Point 0: (51.0,92.0) Point 1: (307.0,92.0)
が得られません。
$outのarrayの中に入ってきてくれるとばかり思っていたのですが。
ちなみに
$command = 'dir';
等と簡単なwindowsコマンドをいれてみると
$ret、$out共に正しく結果が得られます。
書き方に不備等があるのでしょうか?
javaの設定なのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/29 01:01
2018/10/29 01:05
2018/10/29 01:08
2018/10/29 01:14
2018/10/29 01:17
2018/10/29 01:19
2018/10/29 01:20
2018/10/29 01:29
2018/10/29 02:00