美文网首页
mac下PHP环境配置处理集

mac下PHP环境配置处理集

作者: 天天想念 | 来源:发表于2017-07-07 16:44 被阅读138次

    mac自动Apache和PHP启动Apache之后,然后启动下配置好的地址出现如下错误

    Fatal error: Call to undefined function Util\mcrypt_decrypt() in Util/Mcrypt.class.php on line 61
    

    要使mcrypt软件能够运行,然后安装PHP扩展模块,并在php.ini配置。

    首先which php 查看本机PHP安装路径

    /usr/bin/php
    

    php -v 查看PHP版本

    PHP 5.6.30 (cli) (built: Feb  7 2017 16:18:37) 
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    
    下载需要软件包

    1、下载php(下载对应版本PHP 5.6.30的PHP源文件)
    http://php.net/releases/

    2、下载libmcrypt(安装mcrypt需要此软件包)
    http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

    3、下载mhash(安装mcrypt需要此软件包)
    https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/

    4、下载mcrypt
    https://sourceforge.net/projects/mcrypt/files/Libmcrypt/

    (mac上有时会在make时有错误:rfc2440.c:26:20: error: malloc.h: No such file or directory,修改 rfc2440.c:#include <malloc.h>为#include <sys/malloc.h>, 重新make/make install即可)

    安装软件

    1.先安装Libmcrypt

       #tar -zxvf libmcrypt-2.5.8.tar.gz
       #cd libmcrypt-2.5.8
       #./configure
       #make
       #make install
       说明:libmcript默认安装在/usr/local 
    

    2.安装mhash

       #tar -zxvf mhash-0.9.9.9.tar.gz
       #cd mhash-0.9.9.9
       #./configure
       #make
       #make install (说明:如果报权限错误,可以执行sudo make install)
    

    3.安装mcrypt

       #tar -zxvf mcrypt-2.6.8.tar.gz
       #cd mcrypt-2.6.8
       #LD_LIBRARY_PATH=/usr/local/lib/ ./configure -with-libmcrypt-prefix=/usr/local
       #make
       #make install
      说明:(mac上有时会在make时有错误:rfc2440.c:26:20: 
      error: malloc.h: No such file or directory,
      修改 rfc2440.c:#include <malloc.h>为#include <sys/malloc.h>, 
      重新make/make install即可)
    

    4.使用PHP编译出需要的加密库即生成mcypt.so文件
    解压PHP源码文件(一定是和系统的php的版本号一致)。
    Mac OS X 10.12中预装的PHP版本是5.6.30,所以需要下载这个版本。

    在终端执行如下命令:

    #tar zxvf php-5.3.4.tar.gz
    #cd php-5.3.4/ext/mcrypt
    #phpize(如果./configure不能执行 先下载autoconf.tar.gz解压 
    在autoconf文件夹目录下执行./configure 
    然后make && make install 
    安装autoconf后就能在php文件夹下使用./configure配置php了)
    #./configure
    #make
    

    然后将编译好的so文件,复制到对应路径

    sudo cp modules/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20130626/
    (no-debug-non-zts-20130626这个文件夹可能不一样,根据你的实际来改)
    

    在执行如上命令的时候,10.12会出现错误

    Operation not permitted
    

    解决办法:参考地址
    简单来说就是 El Capitan 加入了Rootless机制,不再能够随心所欲的读写很多路径下了。设置 root 权限也不行。

    折腾到这里,可以配置PHP加密扩展了
    打开php.ini

    sudo vi /etc/php.ini
    

    在usr/etc/php.ini,中加入如下代码,并保存后退出,然后重启Apache(如没有复制php.ini.default,有时要修改写权限:chmod 777 php.ini )

    extension=/usr/lib/php/extensions/no-debug-non-zts-20130626/mcrypt.so
    

    到这就结束了。

    相关文章

      网友评论

          本文标题:mac下PHP环境配置处理集

          本文链接:https://www.haomeiwen.com/subject/xxhlhxtx.html