我有一个关于在Nginx上运行的PHP应用程序(Baikal)的问题。该应用程序的一个配置文件已经没有写入权限了。该问题可能是由于升级PHP之后引起的。
以下是我的设置的一些信息:
- 操作系统: Arch Linux
- Nginx版本: 1.16.1
- Nginx用户: http
- PHP版本: 7.4.1
- 应用程序: Baikal 0.4.6
- Nginx配置:
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
。对于该文件,它返回 false
。 fopen
显示文件系统为只读(实际上并非如此)。
我已经阅读了很多关于SELinux防止写操作的文章,但正如我所说,我使用的是没有SELinux的Arch Linux。
我认为这与PHP不被允许写入Nginx中设置的根目录之外的地方有关,但我无法解决它。
有人可以提供帮助吗?
非常感谢
Specific
文件夹? - mitkosoft