《PHP學習:在openSUSE42.1下編譯安裝PHP7 的方法》要點:
本文介紹了PHP學習:在openSUSE42.1下編譯安裝PHP7 的方法,希望對您有用。如果有疑問,可以聯系我們。
首先推薦一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog.
PHP編程
里面說到是否會去使用PHP7,就個人而言,我是毫不猶豫地使用的,但是生產環境就不是我說了算,所以只能自己在自己的開發環境里更新PHP的版本.那么,你呢?
PHP編程
筆者使用的是Linux的openSUSE42.1發行版,Yast里面還沒有PHP7的安裝包,于是乎只能自己手動編譯安裝了.作為一個PHP開發者,我是非常希望能夠學會編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網找各種資料,于是乎,這次安裝成功后就想把自己的安裝過程以及遇到的問題記錄下來,方便以后查閱和分享給需要的人.
PHP編程
下載源碼并解壓
PHP編程
進入正題,要編譯安裝PHP7,首先當然要下載PHP7的源碼.你可以到github上clone,也可以到PHP官網下載.下載后解壓到 /usr/local/src 目錄,并將目錄重命名為php7.進入目錄.
PHP編程
配置編譯參數
PHP編程
生成配置文件
PHP編程
./buildconfPHP編程
配置
PHP編程
./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
參數說明
PHP編程
prefix PHP7安裝的根目錄
PHP編程
with-config-file-path PHP7的配置文件目錄
PHP編程
執行完上面的配置命令后的結果如下圖所示:
PHP編程
?PHP編程
?執行上面命令的過程中會遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:
PHP編程
錯誤:
PHP編程
configure: error: xml2-config not found. Please check your libxml2 installation.PHP編程
解決:
PHP編程
zypper install libxml2-develPHP編程
錯誤:
PHP編程
configure: WARNING: unrecognized options: --with-mysqlPHP編程
解決:
PHP編程
取消這個選項,這個選項是不存在的PHP編程
錯誤:
PHP編程
configure: error: jpeglib.h not found.PHP編程
解決:
PHP編程
zypper install libjpeg-develPHP編程
錯誤:
PHP編程
configure: error: mcrypt.h not found. Please reinstall libmcrypt.PHP編程
解決:
PHP編程
zypper install libmcrypt-develPHP編程
錯誤:
PHP編程
checking for recode support... yes
configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.PHP編程
解決:
PHP編程
zypper install librecode-develPHP編程
總的來說,在配置的時候遇到沒有的就打開Yast搜一下,如果有的話就安裝,然后重新編譯看還需要那些,如果在Yast找不到,那就上網找一下Google.
PHP編程
編譯和安裝PHP7
PHP編程
make && make installPHP編程
其中,make之后可以選擇make test.只是一個可選步驟,不執行不知道有什么問題,不過筆者暫時還沒遇到.
PHP編程
查看安裝成功后的PHP7目錄
PHP編程
編譯安裝成功后,查看PHP7的安裝目錄`ls /usr/local/php7`:
PHP編程
PHP編程
設置PHP7的配置文件
PHP編程
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?
PHP編程
設置環境變量
PHP編程
在/etc/profile 文件的最后一行加上
PHP編程
export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATHPHP編程
然后執行 source /etc/profile?
PHP編程
設置PHP日志目錄和php-fpm進程文件(php-fpm.sock)目錄
PHP編程
mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpmPHP編程
將PHP設置為開機啟動
PHP編程
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm onPHP編程
可以用chkconfig命令查看開機啟動服務列表.
PHP編程
啟動PHP服務
PHP編程
service php-fpm start
PHP編程
通過ps aux | grep 'php'查看PHP是否啟動成功?PHP編程
PHP編程
至此,PHP7就安裝成功了,你也開始使用PHP7吧!
PHP編程
以上所述給大家介紹了在openSUSE42.1下編譯安裝PHP7 的辦法,希望大家喜歡.PHP編程
維易PHP培訓學院每天發布《PHP學習:在openSUSE42.1下編譯安裝PHP7 的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8155.html