我试图用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
创build了一个链接。 所以我猜测casperjs在运行时会调用phantomjs。
但是,当我ssh进入服务器并运行它工作正常
casperjs /var/www/mysite/application/phantomjs/test.js
什么地方出了错? 我认为casperjs
不能作为networking用户运行phantomjs
? 如果这是真的,那该如何解决呢?
只要尝试用程序的完整路径调用exec
命令即可。 例如
exec('/usr/local/bin/casperjs /var/www/mysite/application/phantomjs/test.js');
另外请确保您可以通过网络服务器执行该程序,特别是如果您使用php safe_mode on
。 看看safe_mode_exec_dir
我有完全相同的问题,并找到了一个工作解决方案在这里: https : //groups.google.com/forum/?fromgroups=#!topic/casperjs/92yUM9O0XjA