在Windows IIS7上运行PHP exec命令

时间:2013-05-31 09:48:44

标签: php shell iis exec

从php代码运行exec()和shell_exec()时遇到问题。 我在Windows IIS7上运行PHP5.3。 (花了几个小时才最终得到它......)

以下exec()代码有效:

$cmd='cmd.exe /c C:\\<path/to/php/directory/>\php.exe -v';
exec($cmd,$output,$err);
var_dump($output); //dump the output
echo $err; //show the error code, should give 0 for no errors

注意我已确保: - IIS Internet用户具有PHP目录的完全读取和执行权限 - IIS Internet用户具有php.exe的完全读取+执行权限 - IIS Internet用户具有cmd.exe的完全读取+执行权限

如果要从后台进程php文件输出大量数据,请使用shell_exec(),请参阅下面的工作代码(至少在我的设置中):

$cmd='cmd.exe /c C:\\<path/to/php/directory/>\php.exe -f C:\\<path\to\your\>\cron.php';
echo shell_exec($cmd); //output the data

请注意,如果它什么也没有返回,则表示路径有问题。

请记住使用“\”(不带引号)来模拟/替换实际Windows路径中的单反斜杠“\”。

确保您的后台进程文件即cron.php也具有IIS Internet用户的权限。玩得开心!

0 个答案:

没有答案