我可以看到结果:
echo exec("whoami"); // will output "www-data"
然而,如果我尝试运行一个真实世界的命令:
echo exec("casperjs myscript.js /foo/bar");
然后没有任何反应:
我在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日志文件中,所以很难理解这个问题:(
答案 0 :(得分:2)
尝试echo exec("casperjs myscript.js /foo/bar 2>&1");
将stderr重定向到stdout,否则将无法显示。
你的cmdline中可能是一个错误,或者你的$ PATH中没有casperjs等。