Я пытаюсь использовать 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
как веб-пользователя? Если это так, как это можно исправить?
Просто попробуйте вызвать команду 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