程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 在openSUSE42.1下編譯安裝PHP7 的方法

在openSUSE42.1下編譯安裝PHP7 的方法

編輯:PHP綜合

首先推薦一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。

裡面說到是否會去使用PHP7,就個人而言,我是毫不猶豫地使用的,但是生產環境就不是我說了算,所以只能自己在自己的開發環境裡更新PHP的版本。那麼,你呢?

筆者使用的是Linux的openSUSE42.1發行版,Yast裡面還沒有PHP7的安裝包,於是乎只能自己手動編譯安裝了。作為一個PHP開發者,我是非常希望能夠學會編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網找各種資料,於是乎,這次安裝成功後就想把自己的安裝過程以及遇到的問題記錄下來,方便以後查閱和分享給需要的人。

下載源碼並解壓

進入正題,要編譯安裝PHP7,首先當然要下載PHP7的源碼。你可以到github上clone,也可以到PHP官網下載。下載後解壓到 /usr/local/src 目錄,並將目錄重命名為php7。進入目錄。

配置編譯參數

生成配置文件

./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 

參數說明

prefix PHP7安裝的根目錄

with-config-file-path PHP7的配置文件目錄

執行完上面的配置命令後的結果如下圖所示:

 

 執行上面命令的過程中會遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:

錯誤:

configure: error: xml2-config not found. Please check your libxml2 installation.

解決:

zypper install libxml2-devel

錯誤:

configure: WARNING: unrecognized options: --with-mysql

解決:

取消這個選項,這個選項是不存在的

錯誤:

configure: error: jpeglib.h not found.

解決:

zypper install libjpeg-devel

錯誤:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解決:

zypper install libmcrypt-devel

錯誤:

checking for recode support... yes
configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.

解決:

zypper install librecode-devel

總的來說,在配置的時候遇到沒有的就打開Yast搜一下,如果有的話就安裝,然後重新編譯看還需要那些,如果在Yast找不到,那就上網找一下Google。

編譯和安裝PHP7

make && make install

其中,make之後可以選擇make test。只是一個可選步驟,不執行不知道有什麼問題,不過筆者暫時還沒遇到。

查看安裝成功後的PHP7目錄

編譯安裝成功後,查看PHP7的安裝目錄`ls /usr/local/php7`:

設置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 

設置環境變量

在/etc/profile 文件的最後一行加上

export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH

然後執行 source /etc/profile 

設置PHP日志目錄和php-fpm進程文件(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設置為開機啟動

chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on

可以用chkconfig命令查看開機啟動服務列表。

啟動PHP服務

service php-fpm start

通過ps aux | grep 'php'查看PHP是否啟動成功 


至此,PHP7就安裝成功了,你也開始使用PHP7吧!

以上所述給大家介紹了在openSUSE42.1下編譯安裝PHP7 的方法,希望大家喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved