在OS X Sonoma中配置Apache2启用PHP遇问题求助
Apache2 + PHP8.2 配置问题(OS X 14.5 Sonoma)
环境与已完成操作
设备:全新Mac Studio,运行OS X 14.5 Sonoma
Apache基础配置已生效:
修改/etc/apache2/httpd.conf并创建/etc/apache2/users/<myshortusername>.conf,http://localhost/index.html和http://localhost/~<myshortusername>/index.html均能正常显示内容。
用户配置文件内容:<Directory "/Users/john/Sites/"> AddLanguage en .en AddHandler cgi-script .cgi .pl .php Options Indexes MultiViews FollowSymLinks ExecCGI AllowOverride None Require host localhost </Directory>注:对
AddHandler行存疑,该行似乎指定.php文件由cgi-script处理PHP安装:通过MacPorts执行以下命令安装PHP 8.2:
sudo port install php82Apache的PHP相关配置修改(编辑
/etc/apache2/httpd.conf):- 添加模块加载:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php_module libexec/apache2/mod_php82.so - 修改默认索引文件:
<IfModule dir_module> # DirectoryIndex index.html DirectoryIndex index.html index.php </IfModule> - 设置PHP文件处理器:
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> - 调整日志级别:
# LogLevel warn LogLevel debug - 修改
ServerAdmin为自定义邮箱地址
- 添加模块加载:
测试文件:在
~<myshortusername>/Sites下创建info.php,内容如下:<html> <body> <h1>Localhost</h1> <?php echo (phpinfo()); ?> </body> <html>重启Apache命令:
sudo launchctl remove org.apache2.httpd sudo launchctl start -w /System/Library/LaunchDaemons/org.apache.httpd.plist
问题现象
访问http://localhost/~<myshortusername>/info.php时出现错误页面(附图),/private/var/log/apache2/error_log为空。
由于错误页面显示默认邮箱you@example.com而非自定义的ServerAdmin地址,且error_log无内容,怀疑对httpd.conf的修改未被加载,但执行apachectl configtest返回Syntax OK。
更新内容
针对评论的回复:
- 是否上述
launchctl命令不是停止并重启服务器的合适方式?apachectl是否为替代方案? - 确认日志文件路径正确,
access_log有访问记录但error_log仍为空 - 已移除用户配置文件中
.php的cgi处理方式,但问题依旧,仍担心ServerAdmin配置未生效
内容的提问来源于stack exchange,提问作者Limey
相关产品推荐
相关产品推荐

