在Mac上編譯安裝PHP7的開發(fā)環(huán)境
今天看到鳥哥發(fā)微博說php7 beta1測試版發(fā)布了,于是趕緊就去搶先下載,把自己的開發(fā)環(huán)境也升級到PHP7去,話不多少,下面就一起來搞起吧。。。
首先你得去官網(wǎng)下載php7 beta1的版本
這里由于我是在mac上安裝,所以就去下載linux相關(guān)的版本,地址也直接附上了
php7 beta1
windows版的官方也有發(fā)布詳情猛戳:這里
解壓安裝包,進入源代碼目錄
tar -zxvf php-7.0.0beta1.tar.gz
cd php-7.0.0beta1
建立配置
./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
這里列出以下我編譯過程遇到的錯誤和解決辦法:
configure: error: Cannot locate header file libintl.h
安裝 gettext
sudo brew install gettext
編輯 configure 文件,找到 $PHP_GETTEXT /usr/local /usr 在后面加上gettext的路徑
重新配置即可【后面參數(shù)和上面一樣,這里省略了】
我這里可能是因為之前就裝過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'.
#
這里會持續(xù)一段時間,一般是不會出現(xiàn)什么錯誤的,除非你人品的問題了。。。
安裝
sudo make install
上面的步驟都順利的話,這一步做起來就是那么的簡單了,但是安裝過程的信息要記得留意一下,后面配置會需要。。。
命令行測試
/usr/local/php7/bin7 -v
#為了以后事業(yè)方便,直接替換系統(tǒng)默認的php命令
#當人你也可以備份一下,我這里直接覆蓋算求了。。。
sudo cp /usr/local/php7/bin/ph* /usr/bin/
毫無違和感,運行的如此流程,哈哈!
配置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,然后測試一把看看
驚奇的發(fā)現(xiàn),php文件直接輸出到瀏覽器了。。。
感覺是apache不知道要解析php文件了?。?!
這里我排查了好久,發(fā)現(xiàn)切換成php5版本就沒問題,php7就無法解析???
最后才發(fā)現(xiàn)apache在解析php的適合是判斷了模塊的,例如ifModule php5_module這樣,在httpd.conf里面找到這一句:Include /private/etc/apache2/other/*.conf,進入到該目錄一看,你就明白了...
里面有一個php5.conf文件,那是不是php7的就該對應(yīng)一個php7的文件呢,于是趕緊復(fù)制一份,打開這個文件,看到類似php5_module的字樣,直接替換成php7_module即可,相關(guān)內(nèi)容如下:
#httpd.conf改動 ... <IfModule php5_module> Include /private/etc/apache2/other/php5.conf </IfModule> <IfModule php7_module> Include /private/etc/apache2/other/php7.conf </IfModule> #Include /private/etc/apache2/other/*.conf ... #php7.conf內(nèi)容 <IfModule php7_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> </IfModule>
最后再次重啟apache,測試一下
sudo apachectl restart
久違的畫面出現(xiàn)了。。。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
- Mac OSX下使用MAMP安裝配置PHP開發(fā)環(huán)境
- 在Mac OS上編譯安裝Nginx+PHP+MariaDB開發(fā)環(huán)境的教程
- 全新Mac配置PHP開發(fā)環(huán)境教程
- Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細教程
- 在Mac OS上搭建Nginx+PHP+MySQL開發(fā)環(huán)境的教程
- Mac系統(tǒng)下使用brew搭建PHP(LNMP/LAMP)開發(fā)環(huán)境
- 推薦一款MAC OS X 下php集成開發(fā)環(huán)境mamp
- mac下Apache + MySql + PHP搭建網(wǎng)站開發(fā)環(huán)境
- Mac下搭建php開發(fā)環(huán)境教程
- Mac下快速搭建PHP開發(fā)環(huán)境步驟詳解
相關(guān)文章
php數(shù)組函數(shù)序列之in_array() 查找數(shù)組值是否存在
in_array() 函數(shù)在數(shù)組中搜索給定的值2011-10-10php+mysql+jquery實現(xiàn)簡易的檢索自動補全提示功能
這篇文章主要介紹了php+mysql+jquery實現(xiàn)簡易的檢索自動補全提示功能,涉及基于jQuery的ajax數(shù)據(jù)庫查詢與事件動態(tài)響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-04-04PHP面向?qū)ο髮W(xué)習(xí)之parent::關(guān)鍵字
在PHP中不能定義重名的函數(shù),也包括不能再同一個類中定義重名的方法,所以也就沒有方法重載。下面這篇文章主要給大家介紹了PHP面向?qū)ο笾畃arent::關(guān)鍵字的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01PHP nl2br函數(shù) 將換行字符轉(zhuǎn)成 <br>
PHP nl2br函數(shù) 將換行字符轉(zhuǎn)成 <br>,不是很了解的朋友可以參考下。2009-08-08PHP中使用json數(shù)據(jù)格式定義字面量對象的方法
這篇文章主要介紹了PHP中使用json數(shù)據(jù)格式定義字面量對象的方法,這是一種變通方法,使用json還可以在類中生成數(shù)組哦,需要的朋友可以參考下2014-08-08