php で .bat を起動すると、「Java は内部コマンドまたは外部コマンドとして認識されません」というメッセージが表示されますが、Windows で .bat をクリックするだけで正常に起動します。を起動するために使用するコードは次のとおりです。バット
exec('START D:\http\ftp\vanilla-server\run.bat');
php で .bat を起動すると、「Java は内部コマンドまたは外部コマンドとして認識されません」というメッセージが表示されますが、Windows で .bat をクリックするだけで正常に起動します。を起動するために使用するコードは次のとおりです。バット
exec('START D:\http\ftp\vanilla-server\run.bat');
これを試してください(バッチで、x32 Winの場合):
set "PATH=%PATH%;C:\%ProgramFiles%\java\jre7\bin"
PATH
ほとんどの場合、Web サーバーが実行されているアカウントは、自分のアカウントとまったく同じ環境変数( 、 など)を設定していませんJAVA_HOME
。
それを修正するために何ができますか?
ただし、最善の方法はこれをリファクタリングすることです。何かを実行する意図をPHPに書き込んで、別のバックグラウンドデーモンまたはサービスがデータベースからアイテムをピックアップし、必要に応じてタスクを実行します。今日、バッチ ファイルが返されるまで、PHP スクリプトはブロックされます。また、セキュリティの観点からも良くありません。Web サーバーはコマンドを実行する権限を持っている必要があるため、Web サイトのハッキングがはるかに容易になります。