2012-12-09 9 views
5

shell_execを使用してコマンドを実行しようとしていますが、出力が返されません。コマンドプロンプトにコマンドをコピーすると、魅力的に機能します。shell_exec with windows path

ここに実行しようとしているコマンドがあります。

$result = shell_exec('android update project -p "C:\xampp\htdocs\appBuilder" -t 1'); 

$resultが空の文字列を戻しています。コマンドプロンプトでコマンドを実行すると、build.xmlファイルが正常に生成されたというメッセージが表示されます。成功メッセージを$resultに表示する必要があります。

コマンドプロンプトでコマンドandroid update project -p "C:\xampp\htdocs\appBuilder" -t 1を実行するだけで動作します。

FYI:このコマンドは、アンドロイドアプリケーション用にbuild.xmlファイルを生成します。私はxamppを使ってローカルのWebサーバーでもこれを実行しています。

誰かが間違っていることを知っていますか?

$result = shell_exec('android update project -p "C:\\xampp\\htdocs\\appBuilder" -t 1'); 

またPHP SAFE MODEOFFに設定されていることを確認します

+0

正確には何が起こっているのですか、起こっていませんか?あなたは何を期待していますか? – Charles

+0

私の質問が更新されました。 –

+0

これは単純なパスの問題でしょうか?コマンドプロンプトではどこでコマンドを実行しますか?あなたは別の場所から同じコマンドを実行しようとしましたか? –

答えて

3

ダブルバックスラッシュ\\は単一\文字を(最初の\\秒をエスケープするために使用される)を印刷するために使用されるべきです。