2017-12-22 10 views
0

私はshell_execに問題があります。私はUbuntuのではphpファイル問題shell_exec with PHP with ubuntu

からshファイルを実行する必要があります。

<?php 
echo shell_exec ('sh ./myScript.sh'); 
?> 

しかし、それは動作しませんでした。


私はWindowsで、次のことを試してみました、それが働いた:

<?php 
exec('c:\WINDOWS\system32\cmd.exe /c START myScript.bat'); 
?> 
+0

そして、何の問題? '。/ myScript.sh'が指定したファイルを指していますか?何がうまくいかないのか? –

+0

MyScript.shと同じフォルダ内にmyScript.phpを入れてください。 /var/www/html/ myScript.shを端末Sh ./myScript.shでテストして、 – SadDev

+0

を使ってテストしますが、shell_execは他のディレクトリシェルバイナリが配置されている場所では、最初にフルパスを試してみます –

答えて

0

あなたは、このようなコマンドを実行する必要があります。

shell_exec ('sh /var/www/html/myScript.sh'); 
+0

は myScript.sh作業しないが CD 'dirnameは$ 0' のroot_path =' pwd'は javaの-Xms256M -Xmx1024M -cp Talendの仕事から #/ binに/ SHを生成します。$ののroot_path:$ ROOT_PATH /../ lib/routines.jar:$ ROOT_PATH /../ lib/log4j-1.2.16.jar:$ ROOT_PATH /../ lib/dom4j-1.6.1.jar:$ ROOT_PATH/php_0_1.jar: local_project.php_0_1.Php --context = Default "$ @" – SadDev

+0

これはエラーですか?スクリプトがファイルを実行しているようですが、エラーはmyScript.shから来ています。あなたはLinuxのターミナルからスクリプトを実行しようとしましたか? ! –

+0

はありません、これは私のコードファイルmyScript.shで #/ binに/ shを CD 'dirnameは$ 0' のroot_path =' pwd'は のjava -cp -Xms256M -Xmx1024Mです。$のroot_path:$ののroot_path /../ lib/routines.jar:$ ROOT_PATH /../ lib/log4j-1.2.16.jar:$ ROOT_PATH /../ lib/dom4j-1.6.1.jar:$ ROOT_PATH/php_0_1.jar:local_project.php_0_1.Php --context = Default "$ @" はいSh./myScript.shでrunnigを試してみて – SadDev