0

私は次のようにphpページからPythonスクリプトを実行しています:exec("python ./test.py");

このスクリプトでシリアルポートを開かない場合、このスクリプトは正常に実行されます。ただし、そうすると(そして、これが最初にpythonスクリプトを呼び出すための要点です)、スクリプトは正しく実行されません。

ステートメントを出力する単純なPythonスクリプトを呼び出すと-

print "This works!"

次に、phpページで目的の出力を取得します。しかし、シリアルポートを開くと、「これは動作します!」という出力が得られなくなり、シリアルデータが受信デバイスに送信されません-

import serial
ser = serial.Serial("/dev/ttyACM0",9600)
print "This works!"

どちらのスクリプトもコマンドラインから正常に実行されます。

これはPHPの制限ですか?popenや などの他の実行方法を試しsystemましたが、どちらも機能しませんでした。

4

1 に答える 1

2

おそらく、Pythonの実行から完全なエラーレポートを取得していない可能性があります。Pythonプログラムの最初の行として追加raise Exception('Boo!')して、自分がそうであるかどうかを確認してください。例外とトレースバックが発生しない場合は、プログラムがserial.Serial回線で失敗している可能性がありますが、それについては聞いていません。

于 2012-07-11T02:52:55.393 に答える