exec在PHP中无法正确执行
问题描述:
我正在使用PHP文件来运行cmd命令,但命令未正确执行,可能是什么原因?exec在PHP中无法正确执行
我的PHP文件执行cmd命令:
<?php
exec("C:\wamp\php\php.exe -e C:\wamp\htdocs\Me\mail.php [email protected] you");
?>
的mail.php文件:
<?php
$subject = "Please check out";
$headers = "From: [email protected]\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);
?>
既不创建文件或邮件被发送,我认为该命令没有被执行正确,那我该如何解决呢?
答
也许函数exec()在您的配置中被禁用。
检查PARAM disabled_function在你的php.ini,并试图关闭安全模式在httpd.conf php_admin_value safe_mode设置关闭
答
在你第一个例子中,你应该使用/传递给exec字符串中代替 \。 \用于转义字符,不会用作路径分隔符。如果在字符串中必须有\,则必须将其转义,如“c:\\ abc \\ def”中所示。你实际上试图执行“C:wampphpphp.exe -e C:wamphtdocsMemail.php [email protected]你”,这很可能无法执行。将第二个和第三个参数添加到exec(),然后检查第三个错误返回值。
在第二位代码中,您创建的文件不会被引用。
在disabled_function中未禁用exec。而我无法在httpd.conf文件中找到php_admin_value – Conrad 2012-07-27 07:08:13