shell_exec не запускает xvfb-run в php5-fpm, но это хорошо работает под apache2 (mod_php)

shell_exec не работает для команды

xvfb-run --auto-servernum --server-num=1 /var/sjs/slimerjs /var/www/html/sjs/www.js

Но эта же команда хорошо работает в Apache2 ( mod_php )

Так почему же php5-fpm не может выполнить эту команду?


person svjkmr    schedule 24.01.2016    source источник


Ответы (1)


  1. Проверьте свой php.ini, который использовал php-fpm. Найдите директиву disable_functions и удалите shell_exec из значения.
  2. Может быть пользователь (который запускает php-fpm), не имеет прав на чтение/выполнение некоторых файлов. Проверьте разрешение с помощью команды ls -l /var/sjs/slimerjs /var/www/html/sjs/www.js. Я думаю, что у этого пользователя должно быть разрешение на выполнение /var/sjs/slimerjs и чтение /var/www/html/sjs/www.js. Вы можете добавить разрешение с помощью команд chmod +x /var/sjs/slimerjs и chmod +r /var/www/html/sjs/www.js, но это не очень хорошо для безопасности, потому что любой пользователь может выполнять/читать файлы. Лучше добавьте пользователя в какую-нибудь группу, измените группу владельцев для этих файлов и установите разрешение 754 для первого файла и 744 для второго.
person Ihor Orel    schedule 13.10.2016