如何在Mac中搭建一个PHP7开发环境?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>建立配置强>
代码如下:
。/buildconf——
。/configure——prefix=/usr/地方/php7——with-apxs2=/usr/sbin/apx型——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——启用xml disable-rpath——enable-bcmath enable-shmop——enable-sysvsem enable-inline-optimization——使用curl enable-mbregex——enable-mbstring with-mcrypt——enable-ftp与gd - enable-gd-native-ttf - openssl——with-mhash enable-pcntl——enable-sockets with-xmlrpc——enable-zip enable-soap——without-pear with-gettext——disable-fileinfo enable-maintainer-zts
这里列出以下我编译过程遇到的错误和解决办法:
代码如下:
配置:错误:不能libintl定位头文件。h
<>强安装gettext 强>
代码如下:
sudo酿造安装gettext
编辑配置文件,找到美元PHP_GETTEXT/usr/local/usr在后面加上gettext的路径
代码如下:
美元PHP_GETTEXT/usr/local/usr/usr/local/opt/gettext
重新配置即可【后面参数和上面一样,这里省略了】
我这里可能是因为之前就装过php7 alpha版本,所以错误会少一点,不过大家过程中有什么错误的话,直接贴出来大家一起研究了。
<强>编译强>
使
#
生成phar.php生成phar.phar
PEAR包PHP_Archive没有安装:生成phar需要php # 39; s phar扩展启用。
clicommand.inc
directorygraphiterator.inc
directorytreeiterator.inc
invertedregexiterator.inc
pharcommand.inc
phar。.
建立完整。
不要# 39;t忘记运行& # 39;使测试# 39;。
#
这里会持续一段时间,一般是不会出现什么错误的,除非你人品的问题了…
<强>安装强>
代码如下:
sudo make install
上面的步骤都顺利的话,这一步做起来就是那么的简单了,但是安装过程的信息要记得留意一下,后面配置会需要…
命令行测试
代码如下:
/usr/地方/php7/bin7 - v
#为了以后事业方便,直接替换系统默认的php命令
#当人你也可以备份一下,我这里直接覆盖算求了…
代码如下:
sudo cp/usr/local/php7/bin/ph*/usr/bin/
毫无违和感,运行的如此流程,哈哈!
<强>配置apache 强>
打开apache的配置文件httpd。相依,找到原来的LoadModule php5_module这里,直接注释掉,下面加入LoadModule php7_module/usr/libexec/apache2/libphp7.所以,最后如下:
代码如下:
sudo vim/etc/apache2/httpd.conf
…
# LoadModule php5_module libexec/输入/libphp5。所以
LoadModule php7_module/usr/libexec/apache2/libphp7.so
。
重启apache,然后测试一把看看
惊奇的发现,php文件直接输出到浏览器了…
感觉是apache不知道要解析php文件了! ! !
这里我排查了好久,发现切换成php5版本就没问题,php7就无法解析吗? ? ?
最后才发现apache在解析php的适合是判断了模块的,例如ifModule php5_module这样,在httpd。配置里面找到这一句:包括/私人/etc/输入/其他/* . conf,进入到该目录一看,你就明白了…
里面有一个php5。参看文件,那是不是php7的就该对应一个php7的文件呢,于是赶紧复制一份,打开这个文件,看到类似php5_module的字样,直接替换成php7_module即可,相关内容如下:
# httpd . conf改动 … & lt; IfModule  php5_module> Include /私人/etc/输入/其他/php5.conf & lt;/IfModule> & lt; IfModule  php7_module> Include /私人/etc/输入/其他/php7.conf & lt;/IfModule> # Include /私人/etc/输入/其他/* . conf … # php7.conf内容 & lt; IfModule  php7_module> AddType 才能;应用程序/x-httpd-php 。php AddType 才能;应用程序/x-httpd-php-source 。php & lt;才能IfModule dir_module> ,,,,,DirectoryIndex index.html index . php & lt;才能/IfModule> & lt;/IfModule>
最后再次重启apache测试一下
代码如下:
sudo apachectl restart
久违的画面出现了…