### mac 自带php版本扩展缺少
在使用mac 自带php版本为 7.3 ,自带的```gd```库并没有 ```freetype``` .
### 方法一:在自带7.3版本上安装 ```freetype```
这种方法明显行不通,不知道自带php版本的源文件在哪,无法进行安装。
### 方法二:安装其他版本的php, 在新php版本上安装```freetype```
1.安装新版本php
```
brew install php@7.2
```
2.安装 ```brew-php-switcher``` 方便切换php
* 切换php
```brew-php-switcher 7.2```
* 修改httpd.conf
将```LoadModule php7_module libexec/apache2/libphp7.so``` 前加 ```#```. 修改结果```#LoadModule php7_module libexec/apache2/libphp7.so```
运行```brew-php-switcher 7.2``` 会自动在httpd.conf 中添加一条```LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so```,我们可以不用自己添加php7.2的扩展了
* 重启apache ```sudo apachectl -k restart```
* 在终端 php -v ,已经修改成了php7.2 版本。
在这里,作者遇到了一个问题,就是apache 启动不了. 在作者另外一个mac pro 上 配置没有问题,配置的时间为 6月份。 难道最新版本又发生了改变?
```这样也难不倒作者```
### 最终方法,弃用自带apache
1.安装新apache.
* 停止现有apache , ```sudo apachectl stop```
* 安装apache , ```brew install httpd```
* 安装新版本apache配置如下:
```
安装目录:/usr/local/etc/httpd
DocumentRoot is /usr/local/var/www
/usr/local/etc/httpd/httpd.conf
默认端口 8080, 我们将它改为80
```
2. 修改新apache ```httpd.conf``` 文件
* ```Listen 8080``` 改为 ```Listen 80```
* ```User _www``` 改为 ```User XXX``` , XXX为登录用户名,为了解决权限问题
* 添加```LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so```
* 添加
```
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
```
* ```#Include /usr/local/etc/httpd/extra/httpd-vhosts.conf``` 去掉 ```#```, 改后```Include /usr/local/etc/httpd/extra/httpd-vhosts.conf```
3.重启apache , ```sudo apachectl restart ```
解决以上问题。