2

パラレルポートプログラミングを介してハードウェアと相互作用するプログラムがあります。私はそれをコンパイルし、そのオブジェクトファイルを使用してハードウェア(単純なLED)と対話しました。シェルで直接実行すると、LEDを点灯させる目的がありますが、phpでshell_exec()を使用して実行すると、コマンドは実行されますが、ハードウェアと対話できません。私は完全に混乱しています...

4

3 に答える 3

1

PHP スクリプトが別のユーザーとして実行されている場合 (たとえば、Apache モジュールとして実行している場合は user である可能性がありますapache)、ユーザーとしてログインした場合と同じように HW にアクセスできない場合があります。パラレル ポートと対話するために必要な権限を確認してください。

于 2010-03-09T09:57:44.100 に答える
0

これはかなり的外れかもしれませんが、PHP を使用してハードウェア インターフェースを行う場合は、そこに AJAX もいくつか投入します。

基本的に、Ajax関数を介してJavaScriptにキーストロークをサーバーに渡します。PHP は、javascript を介して新しい要求を受け取るたびに、事前に作成された一連のコマンドの配列でキーストロークを検索し、そのキーストロークのshell_exec()コマンドを実行します。

javascript にキーの押下をリッスンさせ、シェル コマンドの配列を可能な各キーストローク (または気の利いた場合はストロークの組み合わせ) に直接関連付けさせます。

ドットとダッシュのような非常に単純なものから始めますが、本当にクールなものをすぐに手に入れることができると思います.

于 2010-03-09T09:57:18.173 に答える
0

パラレル ポートに接続し、PHP が通信できるドメイン ソケットを提供するホスト上に、ある種のソケット サーバーをセットアップします。これは、RESTful プロトコルを介してストリーミング I/O を処理する唯一の方法です。

Anthony が述べたように、AJAX を少し使用すると、ユーザー エクスペリエンスに関してはかなりシームレスになります。

これにより、単純な PHP ソケットを使用して、接続、送信、応答の取得、表示、および要求ごとのウォッシュ/リンス/繰り返しを行うことができます。shell_exec() を扱うよりずっと簡単です。

于 2010-03-09T10:05:43.597 に答える