• 締切済み

PHPのexec();をつかってアプリケーションを起動したい。

サーバーにインストールされたプログラムを起動させたいのですが、うまくいきません。 PHPでバッチファイルを開いて、プログラムを起動させるようにしているのですが、アクセス権限がないのか、ファイルが開かず、web画面も止まってしまいます。 <?php exec('xxx.bat'); ?> 【環境】---------------- Windows Server 2003 R2 Apache2.2 PHP5 ------------------------ サーバーから直接"http://localhost/"や"http://IPアドレス"でアクセスした場合は動くのですが、別PCや、リモートデスクトップでアクセスした場合には動きません。 インターネットゲストアカウントはフルコントロールにしているのですが他にも設定で足りないところがあるのでしょうか。 どのたかご教示お願いします。 ※起動したいプログラムは処理が終ったら自動終了します。

みんなの回答

  • GGL
  • ベストアンサー率45% (23/51)
回答No.1

WindowsのPHPはどうなのかわかりませんが、 PHPが動作しているアカウント情報を元にアクセス許可をする必要があるのでは?

関連するQ&A

  • PHPでサーバーにインストールされたアプリケーションを起動させたい

    バッチファイルを使って、サーバーにインストールを起動させようとしています。 が、PHPのexec関数が動きません。 バッチファイルを開こうとすると固まってしまいます。 xxx.bat ---------------------- cd C:\Program Files\xxx setup.exe ---------------------- xxx.php ------------------------------ $cmd = "cmd.exe /c start xxx.bat"; exec( $cmd ); ------------------------------ Windowsサーバー2003 R2 Apache2.2 お手数ですが、どなたかご教示下さい。

    • ベストアンサー
    • PHP
  • PHPからバッチが起動しない><

    環境 WindowsXP SP2 MySQL6.0 Apache2.0.63 PHP5.2.5 IEからPHPを開いて、コマンドを起動しJavaを起動させたいのですが エラーメッセージが出るわけでも無く起動出来ません。 exec('*******.bat'); だけでは、ダメなのでしょうか? PHPからMySQL等のその他の機能は正常に動作してます。 何か、設定ミス等があれば教えてください><

    • 締切済み
    • PHP
  • PHPでexec関数の記述方法について

    phpでexec関数を使う時に、コマンドの記述を、 exec("xxx -yyy zzz"); と記述すると上手く動きますが、 exec("xxx -yyy zzz"); と改行を含むと正しく実行されません。 exec関数は改行させた記述は不可能なのでしょうか? とても長いプログラムになってしまって困っています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのexecで別PHPの実行

    「エックスサーバー」というレンタルサーバーを使用しています。 PHPファイルの中で[exec()]関数を用いて、別ファイルのPHPを実行させたいと考えております。  ・PHPバージョン:5.3.3  ・ドメイン:XXXXX.xsrv.jp 以下の内容(ProgramA)を実行すると、 [exec()]関数で呼び出している処理(ProgramB)が実行されていないように思います。 どのように修正したら、(ProgramB)が実行されるのでしょうか? どうかご教示くださいませ。 ---ProgramA.php (起動する側)---------------------- <?php exec('/usr/bin/php5.3 /home/XXXXX(ユーザー名)/xsrv.jp(ドメイン)/public_html/AAA/BBB/ProgramB.php'); echo "test!"; ?> ※ProgramA.phpを実行すると、ブラウザには「test!」という文字列が表示されます。 ※ProgramA.phpのパーミッションは755に設定されています。 ---ProgramB.php (起動される側)---------------------- <?php echo"HelloWorld"; ?> ※ProgramB.phpのパーミッションは755に設定されています。

    • 締切済み
    • PHP
  • php4_moduleをロードしようとするとApache2が起動してくれません

    PHPカテゴリー(http://oshiete1.goo.ne.jp/qa3192818.html)で質問した件ですが、 問題点が判明したので、サーバーカテゴリーにて新規に質問させていただきます。 Win98+Apache2+PHP4の環境を構築していて、Win98を再起動すると、Apache2が起動しなくなります。 http://localhost/にアクセスしても「ページが表示できません」となってしまいます。 問題を切り分けていったら、httpd.confに記述した下記の一行があるのがいけないみたいです。 どう解決すればいいのでしょうか? LoadModule php4_module "c:/php/sapi/php4apache2.dll" ここをコメントアウトして、OSを再起動し、http://localhost/にアクセスすると きちんと「It works!」を表示できるのですが、ここがあるとダメみたいです。 ・LoadModule php4_module c:/php/sapi/php4apache2.dll(クォーテーションで囲まない) ・LoadModule php4_module "c:\php\sap\php4apache2.dll"(スラッシュを円に) などとやってみましたが、これらでもNGでした。 前質問(http://oshiete1.goo.ne.jp/qa3192818.html)の#3さんに > ・dllが対応していない(PHPサイトのは非対応)php4apache2.dll-php4.4.x.zip > ​http://www.apachelounge.com/download/​ > LoadModule php4_module "c:/php/sapi/php4apache2.dll" と教わったので、こっちのphp4apache2.dllを入れてみましたがやはり http://localhost/にアクセスしても「ページが表示できません」となってしまいます。 (蛇足:前質問で、他のPCからアクセスすると「It works!」と表示できたと書きましたが、  あれはブラウザのキャッシュの「It works!」が表示されていただけのようです。)

  • PHPを用いてサーバー側にインストールしたアプリケーションを起動する

    ubuntu8.1.0 XAMPP for Linux 1.7.1 環境にて、サーバーを稼動させています。 将来的にはvmwareをWeb上から起動させればいいと考えております。 とりあえずは、この環境でgeditを起動させようとしました。 調べたところ、exec関数やsystem関数を用いれば、実行できる関数があるとの事なので、 試しに、フォルダとファイルに全権限を許可した状態で、 exec("/usr/bin/gedit"); と書いたtest.phpにアクセスしてみましたが、サーバー側ではなんの変化もありませんでした。 exec("ls"); を実行してみたところ、フォルダの中身が表示されました。 UNIXコマンドのみしか受け付けない?と考え、今度はシェルコマンドを使って実行してみました。 test.sh #!/bin/sh /usr/bin/gedit というファイルをつくり、 $exec("/bin/sh /opt/lampp/htdocs/test/test.sh") を実行してみたのですが、やはりうんともすんとも動きませんでした。 お手上げ状態となっております。 phpからサーバー上にインストールされたアプリケーションを起動させる事はできないのでしょうか? もし、何か方法などがありましたらご教授お願いします。

    • ベストアンサー
    • PHP
  • exec()にで別PHPをバックグラウンドで起動させるには

    どうしたらよいか分からずに困っております…。 例えば次の様な記述が実行できません。 exec("c:\php\php.exe c:\test\test.php"); 次の様にperlファイルを起動しようとすると、それは問題なく動作します。 exec("c:\perl\bin\perl.exe c:\test\test.cgi"); すみませんが、どなたかヒントだけでも頂けたら嬉しいです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 別サーバのプログラムを起動

    Aサーバ(xxx.xxx.xxx.xxx)よりBサーバ(yyy.yyy.yyy.yyy)上のプログラムを起動したいと考えております。 PHPのプログラム上"exec"関数などを使用するのかな?と思うのですがどうも上手くいきません。 どなたかご教示下さい。 大まかな流れとしては、 1:Aサーバ上の/home/httpd/test.phpを実行 2:1のtest.phpのプログラム内でBサーバの/home/httpd/test/testb.phpを起動する。 3:処理終了 ※testb.phpはDBに現在日付をinsertする処理となります。 お手数ですが宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • PHPからAccess起動。

    PHPからAccess起動。 PHPのバッチプログラムから Accessのmdbを起動する方法が、わからず悩んでいます。 やりたい事は  (1) web画面のボタンをクリックしたら、PHPのバッチを起動し    データの取得・更新を行い、オラクルDBに保存する。  (2) Accessを起動し、オラクルDBに保持したデータを参照し    レポートの出力を行う。  (3) 終了メッセージを出力し、コントロールを画面に戻す。 以上です。 この内(1)と(3)に関しては自力で実装が完了しています。 わからないのが(2)の部分で PHPのバッチからAccessを起動しAccessのマクロをキックする方法です。 ご存知の方、ご教授お願い致します。

    • 締切済み
    • PHP
  • PHPからバッチファイルの実行

    PHPのファイルから、特定のPDFファイルを印刷するコマンドが書かれたバッチファイルを実行したいと考えています。 exec(\'test.bat\');みたいな感じでやってはみたものの、Web画面が止まってしまってうまくいきませんでした。 どなたかご存知の方、ご教授ください。よろしくお願いいたします。

    • 締切済み
    • PHP