Использование PHP exec () дает ошибку: Fatal: Нет такого файла или каталога; вы установили

Я пытаюсь использовать 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