centos7 編譯安裝lnmp(1) 編譯php5.6

有時候需要使用特定的php版本,我們就可以使用原始碼編譯,我一直使用phpStudy集成環境,自己在安裝php源碼是遇到很多錯誤,遇到錯誤的時候不要慌,根據錯誤百度下就好,一般都是php需要的軟體沒安裝,安裝了就好了

工具/原料

CentOS 7.2
php 5.6.31

方法/步驟

下載源碼

1. 打開php.net官網下載php 5.6.31源碼

2. 執行命令: wget http://cn2.php.net/distributions/php-5.6.31.tar.gz

3. 解壓php源碼: tar zxvf php-5.6.31.tar.gz

4. 進入解壓源碼目錄: cd php-5.6.31

安裝php需要的軟體

yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel curl curl-devel libxslt-devel openssl-devel

注意如果軟體包安裝了就從安裝列表去掉

編譯(安裝)配置

在php-5.6.31目錄執行以下命令(安裝php到/usr/local/php目錄):

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip

如果這步出錯,就按照錯誤百度一步步解決(一般都是缺少相應的軟體包造成的錯誤

編譯php源碼

    編譯源碼只需要執行命令: make

安裝php源碼

    安裝源碼只需要執行命令: make install

複製php配置到安裝php安裝目錄

    1. 複製php.ini命令: cp php.ini-development /usr/local/php/lib/php.ini

2. 複製php-fmp配置命令: cp ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

3. 查看php是否安裝成功: /usr/local/php/bin/php --version

顯示php版本就安裝成功了

php5.6.31就編譯安裝完了

fpm路徑:  /usr/local/php/sbin/php-fpm

fpc配置路徑:  /usr/local/php/etc/php-fpm.conf

php.ini路徑:  /usr/local/php/lib/php.ini

php常用命令

1. 查看php版本: /usr/local/php/bin/php -v

2. 查看phpinfo: /usr/local/php/bin/php -i

3. 查看php編譯模塊: /usr/local/php/bin/php -m

4. 查看php.ini配置文件路徑和目錄: /usr/local/php/bin/php --ini

php-fpm常用命令

查看php-fpm占用埠號: ps -ef | grep php-fpm

1. 配置php-fmp: vi /usr/local/php/etc/php-fpm.conf

修改

user = nobody

group = nobody

改為

user = www

group = www

如果www用戶不存在,那麼先添加www用戶

groupadd www # 新增用戶組

useradd -g www www # 新增用戶並設置用戶組

2. 使用信號管理php-fpm

INT, TERM 立刻終止

QUIT 平滑終止

USR1 重新打開日誌文件

USR2 平滑重載所有worker進程並重新載入配置和二進位模塊

示例:

1. 啟動服務:

/usr/local/php/sbin/php-fpm

指定配置路逕啟動服務

/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

2. 平滑重啟服務(會重啟加載配置):

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

3. 重新打開日誌文件:

kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

4. 停止服務:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

5. 平滑停止服務:

kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`

6. 測試php-fpm配置

/usr/local/php/sbin/php-fpm -t

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini -y /usr/local/php/etc/php-fpm.conf -t

注意事項

安裝php需要的軟體如果已經安裝,就從安裝列表去掉
編譯配置報錯時,一般是缺少相應的軟體包,如果報錯根據錯誤信息百度

相關文章

  1. CentOS編譯安裝LNMP環境

    這裡是教大家如何在centos下利用源碼編譯安裝LNMP環境. 工具/原料 centos伺服器一台 自用電腦一台 準備篇 配置好IP.DNS .網關,確保使用遠程連接工具能夠連接伺服器 配置防火牆,開 ...
  2. centos 編譯安裝php5.2

    最近給朋友公司做運維,給他們第一次裝的是環境是php5.3.3 後來這個版本貌似有點高,他們網站用不了,就讓我給他們降版本,當時我是用yum安裝的,默認版本就是這個.這讓我降版本,我說那就只能編譯安裝 ...
  3. Centos7 編譯安裝 Nginx

    經常會遇到一個問題,在windows下程序運行正常,但是放到了伺服器上就崩了.將開發環境轉到Linux下,可以減少這類問題的發生. 工具/原料 Centos7 方法/步驟 擴展包更新包和更新yum源 ...
  4. Centos7 編譯安裝 PHP7

    在Centos7下搭建PHP開發環境(1. 安裝 VirtualBox + CentOS7 2. 安裝 Nginx 3. 安裝 PHP7) 工具/原料 Centos7 方法/步驟 安裝編譯工具和擴展庫 ...
  5. MySQL伺服器的編譯安裝與配置

    MySQL 是一個關係型資料庫管理系統,它分為社區版和商業版,由於其體積小.速度快.總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫.由於其社區版的性能卓越, ...
  6. SNMP的編譯安裝開發步驟總結

    SNMP在很多機器上都有用到,嵌入式必學的一個協議.因為涉及到很多方面所以這個開源包很重要.現在介紹其編譯的步驟. 工具/原料 snmp開源包 Linux系統 方法/步驟 1. 獲取net-snmp開 ...
  7. Ubuntu15.04編譯安裝ffmpeg3.0和OpenCV3.1

    在Ubuntu15.04上源碼編譯安裝ffmpeg3.0和OpenCV3.1 在Ubuntu15.04上通過源碼編譯的方式安裝ffmpeg和opencv,安裝ffmpeg主要是opencv有些功能要依 ...
  8. centos linux 編譯安裝pcre軟體

    本文講述一下如何使用編譯的方法安裝pcre軟體,PCRE在linux系統里被其它的軟體所依賴,所以一般的linux系統里都會裝有,但是否是最新版本,是否滿足要求,那就得看需求了.如果滿足不了的話,還是 ...
  9. Ruby編譯安裝及Rubygems升級!

    Ruby,一種為簡單快捷的面向對象編程(面向對象程序設計)而創的腳本語言.有的時候,你可能需要用到最新的穩定版本的Ruby,但是如果用包管理器直接安裝,像yum , apt-get 是不能達到要求的, ...
  10. Linux下編譯安裝nginx

    Linux下編譯安裝nginx,本經驗主要是使用centos進行安裝,如果是其他系統,安裝好對應的編譯工具也是可以安裝的. 工具/原料 作業系統:Centos 源碼包:nginx-1.6.0.tar. ...
  11. CentOS 7編譯安裝GCC 4.9.2

    作為一個技術狂人,不使用最新的工具怎麼可以呢? 工具/原料 電腦 CentOS 7 GCC 4.9.2 方法/步驟 下載源碼 wget ftp://mirrors.kernel.org/gnu/gcc ...
  12. 從源碼編譯安裝subversion 1.8.9 [基於ubuntu]

    安裝subversion 1.8.9 大部分支持組件可以用 subversion里的腳本  get-deps.sh  獲取 需要 subversion,apr,apu,openssl,zlib,sco ...
  13. CentOS 6.4下編譯安裝MySQL 5.6.14

    CentOS 6.4下通過yum安裝的MySQL是5.1版的,比較老,所以就想通過原始碼安裝高版本的5.6.14. 工具/原料 CentOS6.4 mysql-5.6.14.tar.gz make g ...
  14. centos下編譯安裝nginx

    說明: 編譯NGINX 工具/原料 下載好nginx:nginx-1.10.2.tar.gz 方法/步驟 gzip -d nginx-1.10.2.tar.gz   #解壓   tar -xf ngi ...
  15. Centos6.5 httpd+mysql+php 編譯安裝

    httpd 2.4.10 + mysql-5.5.40 +php-5.6.4 編譯安裝 工具/原料 Centos 系統 客戶機 方法/步驟 一.編譯安裝apache yum groupinstall ...
  16. APK+Dex文件反編譯及回編譯工具(APKDB)安裝經驗

    APKDB是一款,針對Android OS系統的APK程序,直接反編譯修改的工具.其實,本工具是一個工具集合箱,直接在[滑鼠右鍵]創建快捷菜單:非常方便漢化工作者,對APK或Dex文件進行簡易的反編譯 ...
  17. centos6編譯安裝nginx

    從centos6編譯安裝nginx,nginx是常用的web伺服器,在生產環境中通常都通過編譯安裝或從yum上安裝. 方法/步驟 從nginx官網(nginx.org)得到最新版的下載連接 如下. n ...
  18. Linux編譯安裝為知筆記

    為知筆記提供了全平台版本的軟體,不過對於Linux系統來說,需要用戶自己編譯軟體進行安裝.雖然難度不是很大,但對於新手來說,卻是一臉懵逼. 工具/原料 QT Creator 為知筆記源碼 方法/步驟 ...
  19. Linux編譯安裝配置Nginx伺服器

    源碼編譯安裝nginx靜態網站伺服器. Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行.由俄羅斯的程序設計師Ig ...
  20. Eclipse 安裝反編譯插件

    通過反編譯插件方便大家瀏覽Java源碼,從而快速的解決開發中的疑難問題,此方式僅供大家參考. 工具/原料 Eclipse Java EE IDE for Web Developers. Version ...