首先你得去官网下载php7 beta1的版本
这里由于我是在mac上安装,所以就去下载linux相关的版本,地址也直接附上了 php7 beta1 windows版的官方也有发布详情猛戳:这里
解压安装包,进入源代码目录
tar -zxvf php-7.0.0beta1.tar.gz
cd php-7.0.0beta1
建立配置
.
这里列出以下我编译过程遇到的错误和解决办法:
安装 gettext
sudo brew install gettext
编辑 configure 文件,找到 $PHP_GETTEXT /usr/local /usr 在后面加上gettext的路径 $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext
重新配置即可【后面参数和上面一样,这里省略了】
sudo brew install mcrypt libmcrypt
再次重新configure即可。。。
我这里可能是因为之前就装过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'.
#
这里会持续一段时间,一般是不会出现什么错误的,除非你人品的问题了。。。
安装
sudo make install
上面的步骤都顺利的话,这一步做起来就是那么的简单了,但是安装过程的信息要记得留意一下,后面配置会需要。。。
命令行测试
/usr/local/php7/bin7 -v
毫无违和感,运行的如此流畅,哈哈!
配置apache
打开apache的配置文件httpd.conf ,找到原来的LoadModule php5_module 这里,直接注释掉,下面加入LoadModule php7_module /usr/libexec/apache2/libphp7.so ,最后如下:
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 即可,相关内容如下:
最后再次重启apache,测试一下
sudo apachectl restart
久违的画面出现了。。。
|
请发表评论