- 締切済み
PHP4+Apacheから外部プログラム起動(XP
WindowsXP+PHP4+Apacheの環境からRocketMouseという操作自動化ソフトを外部プログラムとして起動したいです。 検索したところ、ローカル環境なら可能…というような事を書いている方がいたのですが、どのようにすれば実現できるのでしょうか? 現在はPHPでテキストファイル出力→別途、RocketMouseを起動してテキストファイルを読み取っての自動化処理・・・という二段階の作業をしているのですが、クリック一発で終われば楽になるので、どうにか実現したいと思っています。 exec関数などでフルパス指定して試みたりしてみましたが、全然うまくいきません(IEのプログレスバーが途中で止まってしまいます)。PHP.iniを確認しましたがセーフモードにもなっていません。 タスクマネージャーでプロセスを確認すると、起動はしているようなのですが、実際に画面には何も表示されてくれません。 現状、RocketMouseどころか、電卓やメモ帳でも同じような状況です(タスクマネージャーにのみ表示されるが、GUI表示が一切ない状態)。 何が間違っているのか・・・そもそもが不可能なのか・・・詳しい方おられましたらどうかよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpro-gram
- ベストアンサー率74% (170/228)
apache経由しないでも、phpはコマンドライン呼び出しできますから、 ローカル実行ってバッチ実行のことを云ってるのだと思いますけど。 windowsなら、バッチファイル(拡張子 .bat )に、php.exe php_source.php の呼び出しと、RocketMouseアプリ呼び出しとを記述しておけば、バッチファイルクリックで自動実行します。
- Gaffgarion
- ベストアンサー率45% (45/99)
あなたの考えるサーバサイドでのクライアントのブラウザ外プログラム操作ができるできないはわかりません。 自分だったらこうする、という話しです。 WEBアプリで、サーバからクライアントを操作するのは筋が悪いと思います。 クライアント、つまりブラウザ、ブラウザということはjavascriptなので、jsで制御する。 のも良いんですが、ブラウザの外部をjsで操作するのは個人的には気持ち悪いので、 自動操作側で全てを行うのがいいんじゃないですか? 自動操作プログラム使ったことないので完全に想像ですが、 自動操作を制御する「なにがしかのボタン」を押下すると、 自動でブラウザ操作(ボタン押下なりurlにアクセスなり)されてテキストファイルを表示。 jsのonloadイベント使ってテキストファイル表示完了後に完了のサインを表示。 自動操作側は完了のサインを確認したら処理開始。 どうでしょうか。