(Выполнение этого на OSX, извиниться, если не по теме)
Когда я запускаю строку кода
shell_exec("/usr/local/bin/gnuplot gnuplot_script7");
в php-скрипте создается файл с именем gnuplot_output7.png, как и ожидалось. Но когда я запускаю аналогичную строку кода
shell_exec("gnuplot gnuplot_script7");
изображение не создается! Это несмотря на то, что если я напечатаю
gnuplot gnuplot_script7
в командной строке OSX изображение успешно сгенерировано.
Я набрал - echo $ PATH в командной строке и вернулся
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/PostgreSQL/8.4/bin/:/usr/local/git/bin:/usr/X11/bin
и когда я набрал
which gnuplot
в командной строке я вернулся
/usr/local/bin/gnuplot
Ваш пользователь $PATH
не совпадает с запущенным пользователем php.
Решение
1- Запустите php
под своим пользователем (возможно, небезопасно), и вы можете использовать:
shell_exec("gnuplot gnuplot_script7");
2 - Просто используйте full path
:
shell_exec("/usr/local/bin/gnuplot gnuplot_script7");