【问题标题】:help with exec command via PHP通过 PHP 帮助执行命令
【发布时间】:2011-06-20 11:53:18
【问题描述】:

我正在尝试运行 PHP exec 命令。它在我的 CMD 中运行起来就像一个魅力,但是当我通过 PHP 尝试它时它什么也没做。有人可以在这里看到我做错了什么。

谢谢。

<?php

//Command line command
//"C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" "C:\inetpub\wwwroot\dev_site\images\0000\thumbs.php"
//This runs perfectly fine.

echo "Command line execution started<br />";
//This is when $desination is already set to 0000
echo  exec("C:\\Program Files (x86)\\PHP\\v5.3\\php-cgi.exe C:\\inetpub\\wwwroot\\dev_site\\images\\$destination\\thumbs.php");
echo "<br />Command line command successful";
//Does not run
?>

【问题讨论】:

标签: php cmd exec


【解决方案1】:

exec 调用中的内容与您作为命令的评论中的内容不同。您摆脱了围绕命令及其参数的引号集。它们可能很重要。

【讨论】:

  • 是的,那是看什么会被执行,但它没有显示任何东西。
  • 重读 -- 您正在执行的命令与您要执行的命令不同。你丢失了两组双引号。把它们放回去!
【解决方案2】:

在 Windows 中,exec() 发出对“cmd /c your_command”的内部调用。这意味着您的命令必须遵循 cmd.exe 强加的规则,其中包括完整命令周围的一组额外引号。希望这些链接会有所帮助

http://php.net/manual/en/function.exec.php

http://ss64.com/nt/cmd.html

【讨论】:

    【解决方案3】:

    当你执行两个或多个命令时,你必须将它们分开
    试试这个:

    echo exec("C:\\Program Files (x86)\\PHP\\v5.3\\php-cgi.exe", "C:\\inetpub\\wwwroot\\dev_site\\images\\$destination\ \thumbs.php");

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 2018-11-21
      • 2015-04-08
      相关资源
      最近更新 更多