PHP-FPM无法写入Nginx的www文件夹

Nginx目前设置为以“nginx”用户身份运行:

[root@localhost whmcs]# grep user /etc/nginx/nginx.conf user nginx; 

PHP-FPM也被设置为“nginx”用户:

 [root@localhost whmcs]# grep '^user\|^group' /etc/php-fpm.d/www.conf user = nginx group = nginx 

他们肯定是作为“nginx”用户运行的:

 [root@localhost whmcs]# ps aux | grep nginx | grep -v grep nginx 55067 0.0 0.2 355128 9568 ? S 15:54 0:00 php-fpm: pool www nginx 55068 0.0 0.3 359488 13976 ? S 15:54 0:00 php-fpm: pool www nginx 55069 0.0 0.2 355128 9596 ? S 15:54 0:00 php-fpm: pool www nginx 55070 0.0 0.3 359508 13952 ? S 15:54 0:00 php-fpm: pool www nginx 55071 0.0 0.3 358712 13200 ? S 15:54 0:00 php-fpm: pool www nginx 55229 0.0 0.3 358456 12896 ? S 15:54 0:00 php-fpm: pool www root 62624 0.0 0.0 60572 1288 ? Ss 16:15 0:00 nginx: master process /usr/sbin/nginx nginx 62625 0.0 0.0 63096 2688 ? S 16:15 0:00 nginx: worker process nginx 62626 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process nginx 62628 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process nginx 62629 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process 

PHP-FPM也是:

 [root@localhost whmcs]# ps aux | grep php-fpm | grep -v grep root 55064 0.0 0.2 352152 11584 ? Ss 15:54 0:00 php-fpm: master process (/etc/php-fpm.conf) nginx 55067 0.0 0.2 355128 9568 ? S 15:54 0:00 php-fpm: pool www nginx 55068 0.0 0.3 359488 13976 ? S 15:54 0:00 php-fpm: pool www nginx 55069 0.0 0.2 355128 9596 ? S 15:54 0:00 php-fpm: pool www nginx 55070 0.0 0.3 359508 13952 ? S 15:54 0:00 php-fpm: pool www nginx 55071 0.0 0.3 358712 13200 ? S 15:54 0:00 php-fpm: pool www nginx 55229 0.0 0.3 358456 12896 ? S 15:54 0:00 php-fpm: pool www 

我的www域名是/ var / www / whmcs,归“nginx”所有:

 [root@localhost www]# pwd /var/www [root@localhost www]# ls -lah | grep whmcs drwxr-xr-x. 19 nginx nginx 4.0K Feb 7 16:15 whmcs 

在/var/log/php-fpm/error.log或/var/log/nginx/error.log中似乎没有任何相关的东西。

我在该域上的WHMCS的安装仍然给出一个错误“无法写入到Web文件夹”。

我也禁用了SELinux。

有人能给我一些见解,为什么这可能会发生?


附加信息如下

编辑:特别是,即使我recursion地将/ var / www / whmcs的权限更改为777,也不起作用。

编辑2:我给shelllogin到“nginx”用户。 它可以在使用它login时在/ var / www / whmcs文件夹中创build文件。 虽然页面上的错误仍然相同。

编辑3:用户@ ezra-s请求的所有权和许可信息:

 [root@localhost var]# namei -mxo /var/www/whmcs f: /var/www/whmcs Dr-xr-xr-x root root / drwxr-xr-x root root var drwxr-xr-x root root www drwxr-xr-x nginx nginx whmcs 

编辑4:@Orphans,我似乎没有/etc/php*/fpm/pool/conf.d/${CONFFILE}。 这是CentOS 6.7上的所有/ etc / php *文件:

 [root@localhost etc]# find /etc/php* /etc/php.d /etc/php.d/curl.ini /etc/php.d/fileinfo.ini /etc/php.d/json.ini /etc/php.d/phar.ini /etc/php.d/zip.ini /etc/php.d/pdo.ini /etc/php.d/pdo_sqlite.ini /etc/php.d/sqlite3.ini /etc/php.d/mysql.ini /etc/php.d/mysqli.ini /etc/php.d/pdo_mysql.ini /etc/php.d/ioncube.ini /etc/php.d/gd.ini /etc/php-fpm.conf /etc/php-fpm.d /etc/php-fpm.d/www.conf /etc/php.ini 

这里也是域的虚拟主机文件(我正在使用hosts文件来访问它):

 [root@localhost etc]# cat /etc/nginx/sites-available/whmcs.com.conf server { listen 80; root /var/www/whmcs; index index.php; server_name whmcs.com www.whmcs.com; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/whmcs; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

检查你的selinux设置。 您可能需要运行:

 $ sudo restorecon -R /var/www/whmcs $ sudo setsebool -P httpd_unified 1 

参考: https : //magento.stackexchange.com/a/72271/469