Mac Monterey切换PHP 8.0后本地站点出现403禁止错误求助
问题描述
Mac Monterey 12.5.1系统,原本PHP 7.4环境下本地托管站点运行正常,安装PHP 8.0并切换后访问站点出现403错误,切回PHP 7.4则恢复正常。
相关配置信息:
httpd-vhosts.conf 站点配置
<VirtualHost *:80> DocumentRoot "/Users/my.name/Sites/mysite" ServerName mysite.loc <Directory /> Options FollowSymLinks AllowOverride all </Directory> <Directory /Users/my.name/Sites/> Options FollowSymLinks AllowOverride all Order allow,deny allow from all </Directory>
httpd.conf 相关配置行
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so "Certificate Name"
sudo apachectl configtest 执行结果
Allowing module loading process to continue for module at /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so because module signature matches authority "Certificate Name" specified in LoadModule directive AH00112: Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist AH00112: Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist Syntax OK
排查与解决步骤
补全PHP 8.0的Apache处理规则
仅加载php_module不够,需在httpd.conf或单独的php.conf中添加PHP文件的处理规则:<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>同时确保httpd.conf中已注释掉PHP 7.4的模块加载行,避免版本冲突。
检查并修复站点目录权限
403错误多数和权限相关,执行以下命令排查:- 查看目录权限:
ls -ld /Users/my.name/Sites/mysite - 调整所有者权限:
sudo chown -R my.name:staff /Users/my.name/Sites/mysite - 开放Apache运行用户(通常为
_www)的访问权限:sudo chmod -R 755 /Users/my.name/Sites/mysite
- 查看目录权限:
更新目录访问规则为Apache 2.4语法
当前配置中Order allow,deny是Apache 2.2的语法,Monterey自带的Apache为2.4版本,需替换为:<Directory /Users/my.name/Sites/> Options FollowSymLinks AllowOverride all Require all granted </Directory>建议同时为站点根目录添加更精准的配置:
<Directory "/Users/my.name/Sites/mysite"> Options FollowSymLinks AllowOverride all Require all granted </Directory>确认必要Apache模块已启用
检查httpd.conf中以下模块是否已加载(去掉行首的#):LoadModule authz_core_module libexec/apache2/mod_authz_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so重启Apache并排查日志
执行命令重启服务:sudo apachectl restart
若仍有问题,查看错误日志定位具体原因:tail -f /var/log/apache2/error_log
内容的提问来源于stack exchange,提问作者anna
相关产品推荐
相关产品推荐

