4

我正在尝试将 PHP 用于exec()二进制文件casperjs

exec('casperjs /var/www/mysite/application/phantomjs/test.js');

但我得到了错误

Fatal: [Errno 2] No such file or directory; did you install phantomjs?

CasperJS 运行在 PhantomJS 之上,我手动安装并/usr/local/bin/phantomjs/usr/local/bin/casperjs. 所以我猜 casperjs 在运行时会调用 phantomjs。

但是,当我 ssh 进入服务器并运行时,它工作正常

casperjs /var/www/mysite/application/phantomjs/test.js

什么地方出了错?我认为casperjs不能phantomjs以网络用户身份运行?如果这是真的,如何解决?

4

2 回答 2

4

我遇到了完全相同的问题,并在这里找到了一个可行的解决方案:https ://groups.google.com/forum/?fromgroups=#!topic/casperjs/92yUM9O0XjA

于 2013-04-25T12:17:26.500 回答
2

只需尝试exec使用程序的完整路径调用命令。例如

exec('/usr/local/bin/casperjs /var/www/mysite/application/phantomjs/test.js');

还要确保允许您通过 Web 服务器执行该程序,特别是如果您使用 php safe_mode on. 看看safe_mode_exec_dir

于 2013-01-02T22:39:11.943 回答