shell_exec没有在 php5-FPM 中运行 xvfb-run,但这在 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 不能运行这个命令呢?

  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/slimerjschmod +r /var/www/html/sjs/www.js添加权限,但这不利于安全性,因为任何用户都可以执行/读取文件。最好将用户添加到某个组,更改此文件的所有者组,并为第一个文件设置权限 754,为第二个文件设置权限 744。

最新更新