Nginx 和 PHP: 没有写入权限

Nginx and PHP: no write permissions

我在 Ngnix 上运行的 PHP 应用程序 (Baikal) 有问题。该应用程序没有(不再)对其配置文件之一的写入权限。升级后可能出现问题 PHP.

以下是关于我的设置的一些信息:

    server {
       listen              443 ssl http2;
       listen              [::]:443 ssl http2;
       server_name         –––––––––;
       root                /usr/share/webapps/baikal/html;
       index               index.php;
       include             include/ssl.conf;
       include             include/letsencrypt.conf;

       rewrite ^/.well-known/caldav /dav.php redirect;
       rewrite ^/.well-known/carddav /dav.php redirect;
       charset utf-8;

       location ~ /(\.ht|Core|Specific) {
          deny all;
          return 404;
       }

       location ~ ^(.+\.php)(.*)$ {
          try_files $fastcgi_script_name =404;
          include        /etc/nginx/fastcgi_params;
          fastcgi_split_path_info  ^(.+\.php)(.*)$;
          fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          fastcgi_param  PATH_INFO        $fastcgi_path_info;
       }
    }

应用程序报告文件 Specific/config.php 不可写。完整路径是 /usr/share/webapps/baikal/Specific/config.php.
出于测试目的,我已将文件的权限设置为 777;没有成功。我测试了 PHP 函数 is_writable。它 returns false 该文件。 fopen 表示文件系统是只读的(它不是)。

我已经阅读了很多关于 SELinux 防止写入操作的内容,但正如我所说,我使用的 Arch Linux 不是 SELinux.
我觉得和Nginx设置的根目录外不允许写PHP有关系,但是我没办法搞定。

有人可以帮忙吗?
非常感谢

好的,搞定了。皮尤.

从 PHP 7.4 开始 PHP-FPM 通过以只读方式挂载 /usr/boot/etc 目录来保护系统。

post and this issue 让我找到了解决方案,只需将应用程序文件夹移动到 /usr