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 中的参数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”,这很可能无法执行。将第二个和第三个参数添加到 exec(),然后检查第三个参数是否有错误返回值。

在第二段代码中,您创建的文件永远不会被引用。

于 2012-07-27T06:34:59.040 回答