macOS Sierra上面的php开发环境安装
本文参考资料:
启动apache时,解决 How to Fix AH00558 and AH00557 httpd apr_sockaddr_info_get() Error Message http://linux.101hacks.com/unix/httpd-apr-sockaddr-info-get-error/
mac自带的apache安装目录在 /etc 下,
mac使用homebrew安装的apache在/usr/etc/apache2
使用homebrew安装的php在 /usr/local/Cellar下的与php有关的文件夹,如:php70文件夹
mac自带的php配置文件 在 /etc下面的 php.ini 或 php.ini.default
如果etc 下面的php.ini已经存在就不用再复制了,如果没有,则需要把 php.ini.default 复制一份,并重命名为 php.ini
把php.ini里面所有的default_socket都改成/tmp的mysql.sock的正确位置即可
启动apache的时候,如果命令行中如果报AH00558 and AH00557 httpd apr_sockaddr_info_get() Error错误的话
找到apache中的配置文件 httpd.conf 在里面找到 ServerName 在下面加上一行 ServerName 127.0.0.1 这样就可以解决此问题了。
下面分享一下mac安装php环境的经验(利用homebrew安装):
安装php的之前,要保持homebrew和xcode是最新版本,如果你的Xcode是8.2之前的版本的话,在你编译PHP7.0+的时候会提示你“更新Xcode”版本
Apache2.4安装:
先用brew 的 tap 命令创建
Apache的仓库,然后再使用install安装apache。如果要安装的是Apache2.4,所以是brew install
httpd24。如果要安装Apache2.2,那么就是brew install httpd22。
命令示例:
brew tap homebrew/apache (可以没有)
brew install httpd24
安装完成后,可以使用 brew info httpd24 来查看所安装的apache2.4的信息
然后apache启动后,访问一下localhost:8080(新版的apache默认端口是8080),如果界面出现 It works!说明apache安装成功
Mysql安装:
安装 brew install mysql
安装好后,可以使用 brew info mysql 来查看 mysql的信息
注:使用mac安装 mysql.dmg的时候,要特别注意 安装后会出现一个默认的密码提示,这时候要好好阅读,等安装完成后,使用默认密码连接,之后再输入新密码,以后就使用新密码来连数据库了
Php安装:
查看php信息: brew info php70
在使用brew下载php的时候,务必要加上 --with-http24 ,否则下载的php不带 php7lib.so 文件,无法与apache连接
在安装php时,直接brew install php70 不出错,但是加上httpd参数就会出错了
在终端执行
xcode-select --install后,再reinstall就可以了
brew reinstall php70 --with-http24
配置Apache
找到httpd.conf,打开后
如果已经有下面这一行的话就不用加了
如果没有,加上下面这一行,注意后面的路径一定要能照着找到相应的文件
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
然后再配置项目目录:
例如:这是我在根目录下建的文件夹
DocumentRoot "/Users/pingguo/php"
<Directory "/Users/pingguo/php">
把 AllowOverride none 改为 AllowOverride all;启用 LoadModule rewrite_module libexec/mod_rewrite.so否则 该环境不读项目的路由
重启apache后就可以测试了,,建一个文件,然后 输出phpinfo()
这是如果发现你的php没有被解析,出来的还是代码,不要慌
在apache的httpd.conf 中在
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
下面加上
AddType application/x-httpd-php .php
DirectoryIndex index.php index.htm index.html
DirectoryIndex index.php index.htm index.html
之后再重启一下服务器,你就发现环境已经配置好了。