IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Mac 升级 Yosemite 之后 PHP 环境修复

    forecho (caizhenghai@gmail.com)发表于 2014-10-19 22:06:38
    love 0

    Yosemite 终于发布了,我第一时间升级了。但是没想到 PHP 环境受到影响了,直到现在终于修复好了。

    修复 Apache

    Apache 好像是换新版本了,升级完系统之后项目打不开了。之前设置好的虚拟主机都无效了。

    首先打开 sudo vim /etc/apache2/httpd.conf 这个文件,

    开启虚拟主机功能,去掉下面代码的「#」注释:

    1
    
    #Include /private/etc/apache2/extra/httpd-vhosts.conf

    改过的代码如下:

    1
    
    Include /private/etc/apache2/extra/httpd-vhosts.conf

    如果想开启伪静态,去掉下面代码的「#」注释:

    1
    
    #LoadModule rewrite_module libexec/apache2/mod_rewrite.so

    改过的代码如下:

    1
    
    LoadModule rewrite_module libexec/apache2/mod_rewrite.so

    ### 如果想使用系统自带的 PHP 版本的话,去掉下面代码的「#」注释:

    1
    
    #LoadModule php5_module libexec/apache2/libphp5.so

    改过的代码如下:

    1
    
    LoadModule php5_module libexec/apache2/libphp5.so

    以上操作完了之后记得要重启Apache:

    1
    
    sudo apachectl restart
    

    修复虚拟主机

    现在我们虽然能用虚拟主机了,但是好像不能解析 PHP 了,打开 /private/etc/apache2/extra/httpd-vhosts.conf 文件在每一个配置里面添加一行下面的代码就可以了:

    Require all granted

    示例如下:

    1
    2
    3
    4
    5
    
    "/Users/$USER/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Require all granted
    
    

    记得要重启 Apache:

    1
    
    sudo apachectl restart
    

    ##安装 PHP Mcrypt 扩展

    这个花费我很长时间,主要是我本来还想用 brew 安装的,省事,但是还是没效果,最后没办法还是编译安装了。

    1
    2
    3
    4
    5
    6
    7
    8
    
    cd ~/Downloads
    wget https://github.com/php/php-src/archive/PHP-5.5.14.zip
    unzip PHP-5.5.14.zip
    cd php-src-PHP-5.5.14/ext/mcrypt/
    /usr/bin/phpize
    ./configure
    make
    sudo make install
    

    然后拷贝一份 php.ini 配置文件,重装系统这个文件没了:

    1
    
    sudo cp /etc/php.ini.default /etc/php.ini
    

    然后记得在 php.ini 文件里面添加这个扩展,如下面代码:

    1
    
    extension = mcrypt.so
    

    以上操作完之后你的 PHP 环境应该又回来了。:)

    —————–update 2014年11月02日—————-

    Yosemite 自带编译安装之后的 PHP 环境 GD 库不支持 png 和 FreeType ,会导致各种验证码出不来,坑。

    一键解决办法如下(重新编译使用 PHP5.6):

    1
    
    curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
    

    参考文章:

    1. Apache, MySQL & PHP on OS X Yosemite
    2. How to Manually Build & Install php-mcrypt on Mac OS X
    3. Installing and Configuring Apache, PHP and MySQL on OSX 10.10 Yosemite
    4. After upgrade, PHP no longer supports PNG operations


沪ICP备19023445号-2号
友情链接