我可以看到结果:
echo exec("whoami"); // will output "www-data"
但是,如果我尝试运行真实世界的命令:
echo exec("casperjs myscript.js /foo/bar");
然后什么也没有发生:
- 没有输出(casperjs 脚本应该输出一些标准输出日志消息)
- 无操作(脚本应该使用绝对路径创建图像,但它没有)
- 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 日志文件中,所以很难理解这个问题:(