MAC安装PHP7.0以及mcrypt扩展和apache问题,亲测有效

参考文章Mac系统如何完美安装PHP7
MAC更新自带php版本到7.0

推荐文章Mac OS X 系统自带的 php-fpm 配置和 nginx、mysql 的安装

相信很多人都想把MAC本地的PHP升级。我们都知道brew install php70可以安装。但问题是我们怎么在apache2上配置。我们根本找不到/libphp7.so.

brew 安装后的apache位置 /usr/local/etc/apache2/2.4
MAC自带的apache位置 /usr/local/etc/httpd/httpd.conf

  • 开发安装php7(一定要加上后面的参数)
brew install php70 --with-apxs2  --with-apache --with-gmp --with-imap --with-tidy --with-debug

如果安装7.1 直接将上面的7.0改成7.1即可

  • 我们看下安装时候出现了什么
图片.png
图片.png
图片.png

![Uploading 图片_198863.png . . .]

图片.png
  • 开启PHP70进程
brew link php70
这一部我也不知道什么用,但其实我相当于是没用
brew link php70.png
  • 修改Apache配置文件
// mac自带的libphp5.so,其实是使用的相对路径。当你不确定层级关系的时候,其实可以使用绝对路径
// 可以使用 sudo find / -name libphp5.so 查找位置
 //   /usr/libexec/apache2/libphp5.so

sudo vim /etc/apache2/httpd.conf
//找到大约168行,该语句,屏蔽后,根据自己的路径,添加php7的.so文件
#LoadModule php5_module /usr/libexec/apache2/libphp5.so
LoadModule php7_module   /usr/local/Cellar/php70/7.0.19_11/libexec/apache2/libphp7.so 
//紧接着,我添加了下面的配置。我也不知道有没有用

<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
查找libphp5.so的位置

我重启apache不行,但是重启电脑又可以了

  • 查找php.ini文件在哪
sudo find ./ -name php.ini
/usr/local/etc/php/7.0/php.ini

实现<??>中间不用加 php也可以读

sudo vi /usr/local/etc/php/7.0/php.ini
short_open_tag = On    //202行

推荐-mac上通过brew安装php7

apache重启失败问题

重启apache失败AH00557,AH00558错误。这个错误其实是由于httpd.conf里面没有开启ServerName的配置。我们可以配置成ServerName localhost:80或者开启自带的那个配置即可
我们一般是配置/etc/apache/httpd.conf的文件,如果不见效的话,可以试试这个/usr/local/etc/apache2/2.4/httpd.conf配置,以及/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf的站点配置

apache重启失败
  • 测试apache,apachectl -S
图片.png

安装mcrypt扩展:brew reinstall mcrypt --build-from-source php70-mcrypt --build-from-source

安装mcrypt
  • 查看php安装好的模块
`php`

查看当前apache使用的配置文件位置

apachectl -V 得到的SERVER_CONFIG_FILE 就是

我升级到7.1之后又有更新,上面方式不行,

1.brew reinstall mcrypt --build-from-source php71-mcrypt --build-from-source

图片.png
  • 安装之后,通过这句话/usr/local/etc/php/7.1/conf.d/ext-mcrypt.ini的提示,mcrypt扩展可能是在里面
    打开这个文件
    图片.png

    2.打开自己本地的php.ini文件,将上面的extension="/usr/local/opt/php71-mcrypt/mcrypt.so"粘贴进去即可
    图片.png

    然后重启服务器
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容