在openSUSE42.1下編譯安裝PHP7 的方法
首先推薦一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。
里面說到是否會(huì)去使用PHP7,就個(gè)人而言,我是毫不猶豫地使用的,但是生產(chǎn)環(huán)境就不是我說了算,所以只能自己在自己的開發(fā)環(huán)境里更新PHP的版本。那么,你呢?
筆者使用的是Linux的openSUSE42.1發(fā)行版,Yast里面還沒有PHP7的安裝包,于是乎只能自己手動(dòng)編譯安裝了。作為一個(gè)PHP開發(fā)者,我是非常希望能夠?qū)W會(huì)編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網(wǎng)找各種資料,于是乎,這次安裝成功后就想把自己的安裝過程以及遇到的問題記錄下來,方便以后查閱和分享給需要的人。
下載源碼并解壓
進(jìn)入正題,要編譯安裝PHP7,首先當(dāng)然要下載PHP7的源碼。你可以到github上clone,也可以到PHP官網(wǎng)下載。下載后解壓到 /usr/local/src 目錄,并將目錄重命名為php7。進(jìn)入目錄。
配置編譯參數(shù)
生成配置文件
./buildconf
配置
./configure \ --prefix=/usr/local/php7 \ --exec-prefix=/usr/local/php7 \ --bindir=/usr/local/php7/bin \ --sbindir=/usr/local/php7/sbin \ --includedir=/usr/local/php7/include \ --libdir=/usr/local/php7/lib/php \ --mandir=/usr/local/php7/php/man \ --with-config-file-path=/usr/local/php7/etc \ --with-mysql-sock=/var/run/mysql/mysql.sock \ --with-mcrypt=/usr/include \ --with-mhash \ --with-openssl \ --with-mysqli=shared,mysqlnd \ --with-pdo-mysql=shared,mysqlnd \ --with-gd \ --with-iconv \ --with-zlib \ --enable-zip \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl \ --with-jpeg-dir \ --with-freetype-dir \ --enable-opcache \ --enable-fpm \ --disable-cgi \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --without-gdbm \ --disable-fileinfo
參數(shù)說明
prefix PHP7安裝的根目錄
with-config-file-path PHP7的配置文件目錄
執(zhí)行完上面的配置命令后的結(jié)果如下圖所示:
執(zhí)行上面命令的過程中會(huì)遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:
錯(cuò)誤:
configure: error: xml2-config not found. Please check your libxml2 installation.
解決:
zypper install libxml2-devel
錯(cuò)誤:
configure: WARNING: unrecognized options: --with-mysql
解決:
取消這個(gè)選項(xiàng),這個(gè)選項(xiàng)是不存在的
錯(cuò)誤:
configure: error: jpeglib.h not found.
解決:
zypper install libjpeg-devel
錯(cuò)誤:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解決:
zypper install libmcrypt-devel
錯(cuò)誤:
checking for recode support... yes
configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.
解決:
zypper install librecode-devel
總的來說,在配置的時(shí)候遇到?jīng)]有的就打開Yast搜一下,如果有的話就安裝,然后重新編譯看還需要那些,如果在Yast找不到,那就上網(wǎng)找一下Google。
編譯和安裝PHP7
make && make install
其中,make之后可以選擇make test。只是一個(gè)可選步驟,不執(zhí)行不知道有什么問題,不過筆者暫時(shí)還沒遇到。
查看安裝成功后的PHP7目錄
編譯安裝成功后,查看PHP7的安裝目錄`ls /usr/local/php7`:
設(shè)置PHP7的配置文件
cp /usr/local/src/php7/php.ini-production /usr/local/php7/etc/php.ini
cp /usr/local/src/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
設(shè)置環(huán)境變量
在/etc/profile 文件的最后一行加上
export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然后執(zhí)行 source /etc/profile
設(shè)置PHP日志目錄和php-fpm進(jìn)程文件(php-fpm.sock)目錄
mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
將PHP設(shè)置為開機(jī)啟動(dòng)
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on
可以用chkconfig命令查看開機(jī)啟動(dòng)服務(wù)列表。
啟動(dòng)PHP服務(wù)
service php-fpm start
通過ps aux | grep 'php'查看PHP是否啟動(dòng)成功
至此,PHP7就安裝成功了,你也開始使用PHP7吧!
以上所述給大家介紹了在openSUSE42.1下編譯安裝PHP7 的方法,希望大家喜歡。
- 在Mac上編譯安裝PHP7的開發(fā)環(huán)境
- CentOS下PHP7的編譯安裝及MySQL的支持和一些常見問題的解決辦法
- CentOS 7.2 下編譯安裝PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法詳解(mini版本)
- linux平臺(tái)編譯安裝PHP7并安裝Redis擴(kuò)展與Swoole擴(kuò)展實(shí)例教程
- CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.6.33+PHP5.6.26運(yùn)行環(huán)境
- CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.7.14+PHP7.0.11
- Centos 6.5系統(tǒng)下編譯安裝PHP 7.0.13的方法
- CentOS 7.0編譯安裝lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)
- Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境
- 解決PHP 7編譯安裝錯(cuò)誤:cannot stat ‘phar.phar’: No such file or directory
相關(guān)文章
win7計(jì)劃任務(wù)定時(shí)執(zhí)行PHP腳本設(shè)置圖解
這篇文章主要介紹了win7計(jì)劃任務(wù)定時(shí)執(zhí)行PHP腳本設(shè)置圖解,需要的朋友可以參考下2014-05-05阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法
今天小編就為大家分享一篇阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10destoon實(shí)現(xiàn)商鋪管理主頁設(shè)置增加新菜單的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)商鋪管理主頁設(shè)置增加新菜單的方法,需要的朋友可以參考下2014-06-06php設(shè)計(jì)模式之策略模式實(shí)例分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之策略模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了php策略模式相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03PHP下通過QRCode類庫(kù)創(chuàng)建中間帶網(wǎng)站LOGO的二維碼
這篇文章主要介紹了用php中QRCode類庫(kù)創(chuàng)建中間帶LOGO的二維碼,QRcode生成二維碼的實(shí)例代碼,有需要的朋友可以參考下2014-07-07Zend Framework教程之Zend_Db_Table用法詳解
這篇文章主要介紹了Zend Framework教程之Zend_Db_Table用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend_Db_Table的功能,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03PHP程序中使用adodb連接不同數(shù)據(jù)庫(kù)的代碼實(shí)例
這篇文章主要介紹了PHP程序中使用adodb連接不同數(shù)據(jù)庫(kù)的代碼實(shí)例,具體的用法示例中用switch語句寫了一個(gè)匯總式的支持,需要的朋友可以參考下2015-12-12