gpt4 book ai didi

shell - php exec() 函数不适用于 ubuntu + nginx + fpm 上的所有命令

转载 作者:搜寻专家 更新时间:2023-10-31 21:13:09 26 4
gpt4 key购买 nike

我可以看到结果:

echo exec("whoami"); // will output "www-data"

但是,如果我尝试运行真实世界的命令:

echo exec("casperjs myscript.js /foo/bar");

然后什么也没有发生:

  • 无输出(casperjs 脚本应该输出一些标准输出日志消息)
  • 无 Action (脚本应该使用绝对路径创建图像,但它没有)
  • PHP 没有错误
  • shell命令无输出

我在 StackOverflow 上进行了搜索,并尝试了其他方法(首先在 shell 中进行了测试,以确保它们有效):

echo exec("casperjs /absolute/path/to/myscript.js");
echo exec("/usr/local/bin/casperjs /absolute/path/to/myscript.js");

我还测试了其他组合,使用 system()shell_exec() 甚至 passthru()但它总是一样的:没有错误,没有输出,即使在 php 日志文件中,所以很难理解这个问题:(

最佳答案

尝试 echo exec("casperjs myscript.js/foo/bar 2>&1"); 将 stderr 重定向到 stdout,否则不会显示。

这可能是您的 cmdline 中的错误,或者 casperjs 可能不在您的 $PATH 中,等等。

关于shell - php exec() 函数不适用于 ubuntu + nginx + fpm 上的所有命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14632198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com