网站首页 » PHP » mac 更换其他版本PHP,apache无法报错无法启动

mac 更换其他版本PHP,apache无法报错无法启动

November 15, 2020 PHP

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
  1. 修改新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

解决以上问题。

添加新评论