一、安裝
Linux下安裝php需要先安裝
libxml2
Cd /usr/local
1、
下載libxml2安裝包
下載php安裝包
Wget wget http://cn2.php.net/distributions/php-5.6.27.tar.gz
2、
安裝libxml2
Tar -zxvf libxml2-2.9.4.tar.gz
解壓libxml2安裝包
Cd libxml2-2.9.4
進入解壓後的目錄
./configure --prefix=/usr/local/libxml2 --with-python=no
Make
Make install
3、
安裝php
Tar -zxvf php-5.6.27.tar.gz
解壓php安裝包
Cd php-5.6.27進入解壓後的目錄
./configure --prefix=/usr/local/php -
-with-libxml-dir=/usr/local/libxml2
--with-config-file-path=/usr/local/php/etc
--enable-mbstring
--enable-fpm
--with-mysqli
make
make install
至此,php安裝完畢,
Cd ../
返回local目錄,發現多了一個文件夾php
就是我們的php安裝目錄
Cd php
Ll sbin
可以看到 sbin下有一個文件
php-fpm ,便是php的啓動文件
但是,還沒結束,我們需要對nginx進行配置,讓它支持php
二、配置
進入nginx安裝目錄的配置文件所在目錄
Cd /usr/local/nginx/conf
Vi nginx.conf
將php這段註釋打開,並將/scripts改爲usr/local/nginx/www
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www$fastcgi_script_name;
include fastcgi_params;
}
保存退出
Cd /usr/local/php/sbin
./php-fpm
啓動php
如果報錯:
ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[22-Oct-2016 00:06:21] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[22-Oct-2016 00:06:21] ERROR: FPM initialization failed
表示沒有php-fpm.conf文件
Cd /usr/local/php/etc/
Copy php-fpm.conf.default php-fpm.conf
進入源碼
cd /usr/local/php-7.1.8
cp php.ini-development
/usr/local/php/etc/php.ini
Cd ../php/sbin
./php-fpm
啓動php
進入nginx
Cd /usr/local/nginx/html
Vi phpinfo.php
內容如下:
<?php
Phpinfo();
?>
保存退出
在瀏覽器打開這個文件,可以看到剛剛安裝的php的信息。
如果訪問html文件正常,但是訪問php頁面報 file not found,則是因爲php-fpm沒有讀寫文件的權限,可以先 幹掉php-fpm進程,然後 編輯配置文件
cd /usr/local/php
Vi etc/php-fpm.conf
找到這一行,
user = nobody
group = nobody
改爲:
user = root
group = root
保存,重新啓動php
./sbin/php-fpm
報錯:
[08-Aug-2017 23:22:02] ERROR: [pool www] please specify user and group other than root
[08-Aug-2017 23:22:02] ERROR: FPM initialization failed
系統提示 不能以root權限啓動php-fpm,
執行 ./sbin/php-fpm -h, 獲取幫助
可以看到, 加-R, 可以以root來啓動php-fpm
./sbin/php-fpm -R
啓動成功,刷新網頁,可以看到php輸出信息了
三、註冊爲系統服務
先對php再進行配置
Cd /usr/local/php/etc/
Vi php-fpm.conf
將pid這行的註釋打開
pid = run/php-fpm.pid
將error_log
這行的註釋打開
error_log = log/php-fpm.log
進入php源代碼目錄
Cd /usr/local/php-5.6.27/
find -name *init* 在當前目錄下查找
php的啓動腳本文件
出現一行
./sapi/fpm/init.d.php-fpm
這便是我們要的文件
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x php-fpm 給予權限
chkconfig --add php-fpm 添加服務
此時php添加到系統服務中,需要啓動/重啓/關閉時,執行如下命令即可
Service php-fpm start | restart | stop