shell_exec无法从浏览器请求执行

时间:2018-12-04 16:19:28

标签: php shell-exec

用户通过POST提交数据后,我显示一个临时页面,并使用shell_exec在后台执行该过程,这是我要尝试的至少方法。

这是我的页面设置:

C:\ laragon \ www \ index.php

<?php
    try {
        shell_exec("php " . __DIR__ . "/test.php");
    } catch(Exception $e) {
        echo "Exception: " . $e;
    }
?>

C:\ laragon \ www \ test.php

<?php
    $myfile = fopen(__DIR__ . "/testfile.txt", "w");
    echo "test";
?>

如果我转到localhost或localhost / index.php,则第二个脚本无法运行。但是,当我尝试从cmd调用这两个脚本时,它们都可以使用。

php C:\laragon\www\index.php

php C:\laragon\www\test.php

它们都可以工作并创建一个名为testfile.txt的文件

1 个答案:

答案 0 :(得分:3)

您的网络服务器以特定用户身份运行,并且需要select distinct on (item) t.* from t where date <= $your_date order by item, date desc; 的路径,因为该网络服务器用户没有路径环境变量:

php.exe