私はRaspberry PI(Jessi)を使用して、シリアルポート(USBからシリアルポート)を使用してデバイスに16進文字列を送信しています。 私は、コマンドラインから成功し、次のコマンドを使用します。PHPからの16進数のシリアルポートへの書き込み
echo -en "\x63\x69\x72\x62\x0d" > /dev/ttyUSB0
私は同じラズベリーパイの上にPHPを使用して同じことをしたいが、私はPHPファイルから同じコマンドを送信しようとすると、私は得ることはありません希望の結果。 例PHPコード:の/ dev/ttyUSB0のため
- 私が追加したWWW-データ(PHPユーザ)グループダイヤルアウト(グループへ:
var_dump(shell_exec('echo -en "\x63\x69\x72\x62\x0d" > /dev/ttyUSB0'));
私はこの作業を取得するために多くのことを試してみました)
- 私はPHPでは、/ dev/ttyUSB0に書き込むことができることを確認したの/ dev/ttyUSB0
- のためのchmod 777を設定している(is_writable())
- は、私は別のsttyの設定の多くを試してみました(例:sttyの-F/de私は、シリアルポート(PhpSerialライブラリ、pack()、fwrite()、printf()など)に書き込むためにPHPでさまざまな方法を試しました。 とりわけ、
私はPHPでは、/ dev/ttyUSB0(スクリーン、minicomの)に書き込んでいるまさに参照する方法を発見していないが、私はPHPスクリプト次回を試した後、私からしてみてくださいので、私はそれが何かを知っていますコマンドラインは動作しません。 2度目は、PHPから試した後、コマンドラインからの試行が成功しました。
コマンドライン(CLI、PHP5とPHP7の両方)からPHPファイルを実行しようとしましたが、Webサーバーを使用していますが、何も動作しません。
私は考えることができ、オンラインで見つけられたすべてのことを試しましたが、まだそれを動作させることはできません。
この問題の原因は何ですか? コマンドが機能し、PHPを使用して実行したいだけですが、失敗します。その他のコマンドは、私は、作品PHPを使用して、試してください - 例えば:
var_dump(shell_exec('whoami'));
更新#1 私が働いてコマンドを使用して、bashスクリプトファイルを作成し、また戻っていくつかの出力を得るために「OK」エコーを追加しました。このファイルはコマンドラインから実行すると動作しますが、PHPから実行しようとすると "ok"が返されますが、接続されたデバイスにはまだ失敗します。 私はWWW-データユーザとしてコマンドラインからbashスクリプトを実行しようとしましたが、それは動作しますが、まだ私はPHPを使用してください何も動作:アップデート#2 は別で同じことをしようとしました
sudo -u www-data bash -c '/home/test/cmd'
コンピュータ、コディを実行して、同じ否定的な結果。コマンドは機能しますが、PHPを使用して実行すると動作しません。
上記のように私は/ dev/ttyUSB0のchmod 777を試してみました。書き込み権限は私の問題ではありませんでした。 – AxAn