今天把vps上php5.3升级到了php5.4,我采用的是nginx+php-fpm的架构,nginx通过php-fpm的socks文件来连接。
结果报错:
connect() to unix:/tmp/php-cgi.sock failed (13: permission denied) while connecting to upstream
我检查了一下 /tmp/php-cgi.sock 发现该文件拥有者是root,而nginx和php-fpm都是www用户来运行的,按理讲,这个sock文件也应该是www才对。
后来发现在php-fpm.conf中有这么一段配置:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
; mode is set to 0660
;listen.owner = www
;listen.group = www
;listen.mode = 0660
很奇怪,按照说明,默认应该使用 user和group配置项来设置权限,但实际上没有。不管怎么样,通过手动指定一下这里的配置就解决问题了。
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = www
listen.group = www
;listen.mode = 0660
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号