【问题标题】:PHP exec on Windows with IIS使用 IIS 在 Windows 上执行 PHP
【发布时间】:2020-04-09 15:19:15
【问题描述】:

我正在使用 IIS 和 PHP 5.2 在 Windows 机器上运行我的代码。 我做了一些配置(下图),还是不行。

这是我的简单代码:

<?php 
    ini_set("display_errors", "On");
    error_reporting(E_ALL);

    ini_set("log_errors", 1);
    ini_set("error_log", "./logs/php-error.log");

    echo exec('whoami');
?>

我只收到一个白页,仅此而已。 (没有错误)

我做错了什么?

PS:我尝试使用 xampp 并且效果很好,但使用 IIS 没有。

【问题讨论】:

  • 我试过你的代码,它在我身边运行良好。还显示用户 image ,尝试将 iis 用户权限分配给 C:\Windows\System32\cmd.exe 文件。 php 5.2 end of life尝试使用最新的PHP版本。
  • 请隐藏快照中的敏感信息。
  • 我可以'更改 cmd.exe 的权限 使用此选项,效果很好:exec("c:\\windows\\system32\\cmd.exe /c start /B php generate.php"); @JalpaPanchal 你在说什么信息? PS:不可能改变php版本

标签: php iis exec application-pool


【解决方案1】:

我为我的问题找到了两个解决方案:

第一:

exec("c:\\windows\\system32\\cmd.exe /c start /B php generate.php");

第二个(替代):

$handle = new COM('WScript.Shell');
$handle->Run('php generate.php', 0, false);

更多信息: https://docs.microsoft.com/en-us/previous-versions//d5fk67ky(v=vs.85)?redirectedfrom=MSDN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多