找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 463|回复: 0
打印 上一主题 下一主题

在Mac上编译安装PHP7的开发环境

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:43:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            今天看到鸟哥发微博说php7 beta1测试版发布了,于是赶紧就去抢先下载,把自己的开发环境也升级到PHP7去,话不多少,下面就一起来搞起吧。。。
首先你得去官网下载php7 beta1的版本
这里由于我是在mac上安装,所以就去下载linux相关的版本,地址也直接附上了
php7 beta1
windows版的官方也有发布详情猛戳:这里
解压安装包,进入源代码目录
[U]复制代码[/U] 代码如下:
tar -zxvf php-7.0.0beta1.tar.gz
cd php-7.0.0beta1
建立配置
[U]复制代码[/U] 代码如下:
./buildconf --force
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/sbin/apxs --enable-fpm --with-fpm-user=www--with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr--enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
这里列出以下我编译过程遇到的错误和解决办法:
[U]复制代码[/U] 代码如下:
configure: error: Cannot locate header file libintl.h
安装 gettext
[U]复制代码[/U] 代码如下:
sudo brew install gettext
编辑 configure 文件,找到 $PHP_GETTEXT /usr/local /usr 在后面加上gettext的路径
[U]复制代码[/U] 代码如下PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext
重新配置即可【后面参数和上面一样,这里省略了】
我这里可能是因为之前就装过php7 alpha版本,所以错误会少一点,不过大家过程中有什么错误的话,直接贴出来大家一起研究了。
编译
make
#
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
clicommand.inc
directorygraphiterator.inc
directorytreeiterator.inc
invertedregexiterator.inc
pharcommand.inc
phar.inc
Build complete.
Don't forget to run 'make test'.
#
这里会持续一段时间,一般是不会出现什么错误的,除非你人品的问题了。。。
安装
[U]复制代码[/U] 代码如下:
sudo make install
上面的步骤都顺利的话,这一步做起来就是那么的简单了,但是安装过程的信息要记得留意一下,后面配置会需要。。。
命令行测试
[U]复制代码[/U] 代码如下:
/usr/local/php7/bin7 -v
#为了以后事业方便,直接替换系统默认的php命令
#当人你也可以备份一下,我这里直接覆盖算求了。。。
[U]复制代码[/U] 代码如下:
sudo cp /usr/local/php7/bin/ph* /usr/bin/
毫无违和感,运行的如此流程,哈哈!
配置apache
打开apache的配置文件httpd.conf,找到原来的LoadModule php5_module这里,直接注释掉,下面加入LoadModule php7_module /usr/libexec/apache2/libphp7.so,最后如下:
[U]复制代码[/U] 代码如下:
sudo vim /etc/apache2/httpd.conf
...
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php7_module /usr/libexec/apache2/libphp7.so
...
重启apache,然后测试一把看看
惊奇的发现,php文件直接输出到浏览器了。。。
感觉是apache不知道要解析php文件了!!!
这里我排查了好久,发现切换成php5版本就没问题,php7就无法解析???
最后才发现apache在解析php的适合是判断了模块的,例如ifModule php5_module这样,在httpd.conf里面找到这一句:Include /private/etc/apache2/other/*.conf,进入到该目录一看,你就明白了...
里面有一个php5.conf文件,那是不是php7的就该对应一个php7的文件呢,于是赶紧复制一份,打开这个文件,看到类似php5_module的字样,直接替换成php7_module即可,相关内容如下:
#httpd.conf改动
...
[I]
Include /private/etc/apache2/other/php5.conf
[/I]
[I]
Include /private/etc/apache2/other/php7.conf
[/I]
#Include /private/etc/apache2/other/*.conf
...
#php7.conf内容
[I]
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  [I]
      DirectoryIndex index.html index.php
  [/I]
[/I]
最后再次重启apache,测试一下
[U]复制代码[/U] 代码如下:
sudo apachectl restart
久违的画面出现了。。。

以上所述就是本文的全部内容了,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • PHP扩展迁移为PHP7扩展兼容性问题记录
  • yum命令安装php7和相关扩展
  • PHP7安装Redis扩展教程【Linux与Windows平台】
  • linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
  • CentOS 上搭建 PHP7 开发测试环境
  • CentOS 7下部署php7.1和开启MySQL扩展的方法教程
  • php7安装mongoDB扩展的方法分析
  • PHP7扩展开发教程之Hello World实现方法示例
  • php7安装yar扩展的方法详解
  • PHP7扩展开发之hello word实现方法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端