虽然网上有关于macOS上php的启动配置,按照他们的步骤我都失败了,不是权限不行,就是访问不到自己定义的DocumentRoot路径。下面把我的过程分享一下:
注:macOS已经内置了(20170515最新版 macOS Sierra 10.12.4版本,从哪个版本开始内置就不追查了)。
1.查看本机php版本
php -v
PHP 5.6.30 (cli) (built: Feb 7 2017 16:06:52)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
到目前官网最新版本为7.1.15,对于我们不是PHPer的小伙伴来说,5.6.30足够了就不折腾升级的事了。
2.开启apache服务
sudo apachectl restart
没有任何蔬菜,在浏览器里输入127.0.0.1 or localhost页面显示 It works。说明我们的php已经运行正常了。
3.php解析
像window安装了apache,直接在DocumentRoot目录下,编写php文件就可以访问内容了,“php解析”什么鬼?在macOS里,必须在/etc/apache2/httpd.conf 里面打开php5的注释(去掉#)。
原来
#LoadModule php5_module libexec/apache2/libphp5.so
解除注释
LoadModule php5_module libexec/apache2/libphp5.so
重启(service apachectl restart)。
4.修改DocumentRoot
在/etc/apache2/httpd.conf 下搜索 DocumentRoot,默认为:
DocumentRoot “/Library/WebServer/Documents”,修改为自己的路径,如下:
DocumentRoot "/Users/xxx/Desktop/web"
这个用户名是很有用的,修改上面后,在http.conf文件中,继续搜索
<IfModule unixd_module>
........
User _www
Group _www
</IfModule>
请把 User 修改为路径中的用户haiqing,修改后
<IfModule unixd_module>
........
User haiqing
Group _www
</IfModule>
同时修改节点….为下面内容
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
自己在修改httpd.conf时,修改DocumentRoot时一直访问报错 403 macos directory access is forbidden。上面我的配置解决了这个问题。