You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

因Socket权限问题无法以shell_user身份运行PHP(Apache+PHP-FPM环境)

解决Debian 11中PHP-FPM Unix Socket权限引发的Apache 503错误

问题背景

在Debian 11 (Bullseye)环境下运行Apache + PHP-FPM,且无法修改Apache与PHP www池的核心配置(两者均配置为user = shell_user、group = shell_user)。重启PHP-FPM服务后,/run/php/php7.4-fpm.sock文件的所有者被设为www-data:www-data,导致Apache访问PHP文件时出现503错误,Apache错误日志提示权限拒绝:

[Mon Jun 05 11:03:25.599836 2023] [proxy:error] [pid 19819:tid 139705513932544] (13)Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*:80) failed

手动将sock文件所有者改为www-data:shell_user后服务恢复正常,但需要实现重启或开机后的持久化生效。

可行解决方案

方案1:修改PHP-FPM池的Socket权限配置

编辑PHP-FPM的www池配置文件(路径通常为/etc/php/7.4/fpm/pool.d/www.conf),添加或调整以下参数:

listen.owner = www-data
listen.group = shell_user
listen.mode = 0660

保存配置后重启PHP-FPM服务:

systemctl restart php7.4-fpm.service

此配置会让PHP-FPM启动时自动将socket文件的所有者和权限设置为符合Apache访问要求的状态,无需后续手动修改。

方案2:通过systemd服务的启动后钩子修改权限

若无法修改PHP-FPM池配置,可编辑PHP-FPM的systemd服务文件(/lib/systemd/system/php7.4-fpm.service),在[Service]段添加启动后执行的指令:

ExecStartPost=/bin/chown www-data:shell_user /run/php/php7.4-fpm.sock

重新加载systemd配置并重启服务:

systemctl daemon-reload
systemctl restart php7.4-fpm.service

该指令会在PHP-FPM启动完成后自动修正socket文件的所有者,确保每次重启或开机后权限正确。

方案3:利用文件访问控制列表(ACL)实现持久化权限

  1. 首先安装ACL工具(若未安装):
apt install acl
  1. 为socket文件设置ACL,让shell_user组拥有读写权限:
setfacl -m g:shell_user:rw /run/php/php7.4-fpm.sock

由于/run是临时文件系统,重启后ACL会失效,需创建一个systemd服务来在开机时自动执行该命令:
创建服务文件/etc/systemd/system/fix-php-sock-acl.service:

[Unit]
Description=Fix PHP-FPM socket file ACL permissions
After=php7.4-fpm.service

[Service]
Type=oneshot
ExecStart=/bin/setfacl -m g:shell_user:rw /run/php/php7.4-fpm.sock

[Install]
WantedBy=multi-user.target

启用并启动该服务:

systemctl enable fix-php-sock-acl.service
systemctl start fix-php-sock-acl.service

验证

执行上述任一方案后,重启PHP-FPM服务,通过ls -la /run/php/php7.4-fpm.sock检查文件权限或所有者,随后访问PHP页面确认503错误已解决。

内容的提问来源于stack exchange,提问作者realtebo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:05:21