linux下php源碼安裝步驟____linux

來源:互聯網
上載者:User
一、下載php源碼

下載地址:http://cn.php.net/downloads.php 二、安裝

1、將下載的二進位包移動到/usr/local目錄,解壓縮檔案包

tar zxvf php-7.1.4.tar.gz

2、進入解壓的php檔案夾下/usr/local/php-7.1.4,安裝依賴,編譯安裝
yum install  libxml2  libxml2-devel

./configure --prefix=/usr/local/php  --with-zlib --enable-zip --with-openssl --enable-fpm --enable-mbstring --with-libdir=lib64 --without-pear  --disable-phar

make

make test (編譯完後可以允許一下make test命令,檢測編譯是否有問題)

make install

安裝完成後的摘要資訊:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM defconfig:     /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing phpdbg binary:         /usr/local/php/bin/
Installing phpdbg man page:       /usr/local/php/php/man/man1/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:          /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/

3、php配置

#php的設定檔為 php.ini

cp /usr/local/php-7.1.4/php.ini-production   /usr/local/php/lib/php.ini

#使得另一種方法來管理服務:
cp /usr/local/php-7.1.4/sapi/fpm/php-fpm /etc/init.d/php-fpm

#添加執行許可權

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

#php-fpm的設定檔

cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default   /usr/local/php/etc/php-fpm.d/www.conf

根據機器配置修改php-fpm進程數最大限制,這限制在/usr/local/php/etc/php-fpm.d/www.conf裡面
使用 netstat -napo |grep "php-fpm" | wc -l 查看一下當前fastcgi進程個數,如果個數接近conf裡配置的上限,就需要調高進程數。
但也不能無休止調高,可以根據伺服器記憶體情況,可以把php-fpm子進程數調到100或以上,在4G記憶體的伺服器上200就可以。
pm.max_children = 200

pm.start_servers = 10

pm.min_spare_servers = 8

pm.max_spare_servers = 12

4、設定環境變數

vi /etc/profile

開啟後,在文檔最下方添加如下配置:

export PATH=/usr/local/php/bin:$PATH

:wq!儲存退出,執行如下命令,使更改生效

source /etc/profile

5、啟動php測試

#啟動

/etc/init.d/php-fpm 

#測試php

cd /usr/local/nginx/html

vi test.php

添加如下內容:
<?php  
 echo phpinfo();  
?>

:wq!儲存退出。

瀏覽器輸入:http://10.62.32.123/test.php

如果出現:PHP Version 7.1.4 介面,顯示php詳細的配置的介面,說明安裝正確

6、php重啟、停止

php 7.1.4 源碼中已經內嵌了 php-fpm,只需要在configure的時候添加編譯參數即可。
關於php-fpm的編譯參數有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。
但是,php 7.1.4 下的php-fpm 不再支援 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用訊號控制:

master進程可以理解以下訊號:
SIGINT, SIGTERM 立刻終止  
SIGQUIT 平滑終止  
SIGUSR1 重新開啟記錄檔  
SIGUSR2 平滑重載所有worker進程並重新載入配置和二進位模組

樣本:  
php-fpm 關閉:  
kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`  
php-fpm 重啟:  
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm進程數:
ps aux | grep -c php-fpm
netstat -anpo | grep "php-cgi" | wc -l
netstat -anop | grep "php-fpm" | wc -l
三、附錄

php編譯選項相關說明:

./configure --prefix=/usr/local/php \ #指定安裝目錄
--with-config-file-path=/usr/local/php/etc \ #指定設定檔的目錄,預設在php/lib下滿\
--enable-fpm \啟用php的fpm
--enable-mbstring  \ 啟用多位元組字串支援
--with-libdir=lib64 \
--without-pear \禁用pear擴充 
--disable-phar \ 禁用pear擴充的phar函數庫
--enable-mysqlnd \ 啟用php的mysql驅動 
--with-mysqli=mysqlnd \ 指定mysql
--with-pdo-mysql=mysqlnd \指定mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.