1

PHP ファイルを使用して cmd コマンドを実行していますが、コマンドが正しく実行されません。何が原因でしょうか?

私のphpファイルはcmdコマンドを実行します:

<?php
exec("C:\wamp\php\php.exe -e C:\wamp\htdocs\Me\mail.php me@gmail.com you");
?>

mail.php ファイル:

<?php
$subject = "Please check out";
$headers = "From: chico@uniserveit.com\n";

$content = "First check"; 
$fp = fopen("C:/xampp/htdocs/Me/checking.txt","wb"); 
fwrite($fp,$content); 
fclose($fp);

mail($argv[0], $subject, $argv[1], $headers);
?>

ファイルが作成されず、メールも送信されず、コマンドが正しく実行されていなかったと思います。

4

2 に答える 2

0

設定で関数exec()が無効になっている可能性があります。

php.ini で param disabled_functionを確認し、httpd.conf でセーフモードをオフにしてみてください。 php_admin_value safe_mode off

于 2012-07-27T06:34:09.700 に答える
0

最初の例では、\ の代わりに exec に渡される文字列で / を使用する必要があります。\ は文字をエスケープするために使用され、パス区切りとしては機能しません。文字列に \ が必要な場合は、"c:\\abc\\def" のようにエスケープする必要があります。実際に「C:wampphpphp.exe -e C:wamphtdocsMemail.php me@gmail.com you」を実行しようとしましたが、実行に失敗する可能性が最も高いです。2 番目と 3 番目の引数を exec() に追加し、3 番目の引数でエラーの戻り値を確認します。

コードの 2 番目のビットでは、作成したファイルが参照されることはありません。

于 2012-07-27T06:34:59.040 に答える