在openSUSE42.1下編譯安裝PHP7 的方法_php執行個體

來源:互聯網
上載者:User
首先推薦一篇文章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 的方法,希望大家喜歡。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.