2016-04-04 3 views
0

PHPのexec()関数を使用してコマンドを実行すると、AWS Windows Server 2012インスタンスでexeファイルを実行しようとしています。しかしそれは私のブラウザが無期限に読み込みを表示するようにします。サーバー上でコマンドを実行すると完全に実行されます。 実行時実行ファイルを実行するphp exec()を実行するとブラウザが無期限に読み込まれます

echo exec('whoami'); 

アカウントのユーザー名が返されます。したがって、いくつかのコマンドはPHPを通して動作しています。しかし、実行ファイルを実行すると、次のようになります。

echo exec('myfile.exe'); 

これはブラウザに読み込みを継続させます。 (私はコマンドプロンプトから私のexeに直接アクセスできるように、環境変数に私のexeファイルのパスを追加しました)

助けていただければ幸いです。 ありがとう

+0

フルパスで実行しようとしましたか? C:\\ WINDOWS \\ system32 \\ notepad.exeなどです。 これを参照してくださいhttp://stackoverflow.com/questions/16037024/why-cannot-run-an-executable-file-with-exec-or-system-functions –

+0

@Azaelはい私はそれを試みましたが、同じ結果 –

答えて

0

私がここでやりたかったのは、ブラウザからサーバー上のexeファイルを開くことでした。 は私が答えで見つかった以下のPHPコードを使用してそれを行うために管理:

shell_exec('SCHTASKS /F /Create /TN _notepad /TR "notepad.exe" /SC DAILY /RU INTERACTIVE'); 
shell_exec('SCHTASKS /RUN /TN "_notepad"'); 
shell_exec('SCHTASKS /DELETE /TN "_notepad" /F'); 

これは、サーバー上でメモ帳を開きます。あなたは、Windows 8.1、Windowsの10およびWindows 2012 Serverのために働いたこのnotepad.exeを であなたのexeファイルへのパスを置き換えることができます

また、デスクトップアプリケーションを実行するためにApacheサービスを有効にする手順を以下試すことができます。

Start->Run, type "services.msc" to bring up Services control (other ways to get there, this is easiest IMO) 
Locate your Apache service (mine was called "wampapache" using WampServer 2.0) 
Open the service properties (double-click or right click->properties) 
Flip to the Log On account and ensure the checkbox titled "Allow service to interact with Desktop" is checked 
Flip back to the General tab, stop the service, start the service 

解決策のために私が追ってきた質問へのリンクは次のとおりです。php How do I start an external program running - Having trouble with system and exec

他人に役立つことを願っています。

+0

私今も同じ問題に直面しています。ウェブユーザーのアクセスのために問題になっていましたか?私はあなたの解決策を使用しました。 – Thejas

関連する問題