方法:1、用wget下載php的tar.gz文件,語法「wget http://br2.php.net/get/php-7.2.2.tar.gz」;2、使用tar指令解壓縮PHP的tar.gz文件,語法「tar zxvf php壓縮檔案」;3、新建php相關資料夾,然後進入解壓縮後的php安裝包資料夾裡,使用指令進行設定;4、設定php相關文件; 5.啟動php,確定是否安裝成功。
本教學操作環境:linux7.3系統、PHP7.2.2版,DELL G3電腦
檢查是否安裝了php
1)yum安裝檢查:yum list已安裝| grep php
2)rpm安裝檢查:rpm -qa | grep php
#3)自己編譯安裝的有多種方式查詢,例如查找php的執行程序,或檢查進程ps -ef | grep php等方法。
檢查如果沒有安裝php,可以準備php安裝前的初始軟體,用yum install xxxx即可安裝,當然不嫌麻煩麻煩也可以自己編譯安裝,這裡就不詳細說了。
1)zlib以及zlib-devel zlib提供資料壓縮的函式庫,也是nginx的前端軟體,由於zlib需要編譯php的zlib擴展,而編譯中會需要使用zlib.h這個頭文件,頭檔在zlib-devel中,因此也需要下載zlib-devel。
2)libxml2以及libxml-devel libxml2是一個c語言的xml程式庫,可以簡單的對xml進行各種操作,並支援xpath查詢,以及部分支援xslt轉換等功能。
3)libxslt以及libxslt-devel如果不安裝libxslt-devel會提示找到xslt.config文件,xslt是轉換xml到其他格式的擴充。
3)openssl及openssl-devel安全專有層密碼庫
4)jpeg IJG的jpeg函式庫,php的gd函式庫所需。
5)libpng是c語言寫的比較複雜的的pngpng檔案的跨平台的函式庫,可以幫助輕鬆的識讀pngpng檔案的每一行替換,php的gd函式庫所需。
6)freetype及freetype-devel免費開源的且可移植的字型引擎,提供統一的介面存取多種字型格式,這兩個都是gd函式庫的依賴軟體,所以如果沒有安裝,或者版本太低,在安裝phptime設定的是安裝gd函式庫插入報錯,另外不安裝-devel也是會報錯的,因為編譯擴充的時候會ft2build.h文件,報錯如下圖。
7)gd gd是php處理圖形的擴充庫
8)curl,由於我的yum裡的版本太低了,所以直接自己編譯安裝的,安裝方式很簡單,也就是wget curl下載位址後tar解壓,新建/ usr / local / curl資料夾,然後進入curl解壓縮後的資料夾裡設定。 /configure--prefix = / usr / local / curl立即,最後make以及make install就安裝好了。
注意:xxx-devel是xxx軟體的開發包,包含頭檔以及靜態函式庫甚至原始碼。
linux中下載安裝php
1)用wget下載php的tar.gz檔:wget <span class="invisible">http: //<span class="visible">br2.php.net/get/php-7.2<span class="invisible">.2.tar.gz</span></span></span>
#2)解壓縮tar.gz文件:tar zxvf php-7.2.2.tar.gz
3)新建待會要安裝php的資料夾:mkdir / usr / local / php,然後進入解壓縮後的php安裝套件資料夾裡,設定:
./configure --prefix = / usr / local / php --with-curl = / usr / local / curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir- -with-kerberos --with-libdir = lib64 --with-libxml-dir --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-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
注意:
--prefix =安裝目錄
--with-使用套件名稱[=套件目錄]
--enable-需要啟動的功能
設定php相關檔案
1)設定php.ini,這是php的設定檔:cp /home /myload/php-7.2.2/php.ini-development /usr/local/php/lib/php.ini
2)設定php-fpm.conf,這是php-fpm設定檔:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3)設定www.conf,設定使用者的檔案:cp etc / php-fpm.d / www.conf.default etc / php-fpm.d / www.conf
4)將php-fpm啟動檔案複製到init.d資料夾中一個方便啟動php: cp -R sbin / php-fpm /etc/init.d/php-fpm
#啟動php,決定是否安裝成功
執行指令/etc/init. d/php-fpm立即
查看是否啟動:ps -ef | grep php既可以看到php啟動了一些進展
安裝成功後配置nginx支援php
1)更改php.ini文件,vim /usr/local/php/lib/php.ini
透過尋找cgi.fix_pathinfo = 1這個配置,並刪除註釋,並取代cgi.fix_pathinfo = 0,這裡不屬於nginx支援php配置相關,或專屬於nginx下php的安全漏洞,如果這裡縮小1 ,用戶方可以透過上傳圖片來上傳木馬,然後透過網址存取該圖片地址,並在地址後加入/xxx.php將圖片作為PHP檔案運行,這只是在nginx裡才會存在的問題,apache和iis都沒有該問題
以上問題可以直接想到鳥哥的博客,寫的相當詳細:http://http://www.laruence.com/2010/05/20 /1495.html
2)設定web專用的群組與使用者
新增www使用者群組:groupadd www
新增www用戶群組下的使用者www:useradd -g www www
3)更改php-fpm.conf配置
將user = nobody的註解去掉,加入nobody改成上面配置的www使用者
將group = nobody的註解去掉,加入nobody改成上面設定的www使用者群組
最後檢查php-fpm.conf最後的包含的值是不是正確的www. conf目錄位址,如果不正確則換成正確的目錄位址。
4)更改www.conf配置
將user = nobody的註解去掉,加入nobody改成上面配置的www用戶
將group = nobody的註解去掉,加入nobody改成上面配置的www用戶群組
5)更改nginx.conf檔案/etc/local/nginx/conf/nginx.conf
將#user = nobody去掉註解並替換user = www
刪除位置〜\ .php $ {...}這段程式碼的註釋,依序fastcgi_param裡的/ scripts替換$ document_root
最後將位置/ {...}裡替換索引後面加上上index.php,確保index.php作為替代的首頁
6)重啟php-fpm和nginx,可以殺死所有php-fpm然後再/etc/init.d/php-pfm即可重啟,/ usr / local / nginx / sbin / nginx -s stop可以停止nginx,然後執行/ usr / local / nginx / sbin / php立即重新啟動。
7)在html目錄裡隨便創建一個php文件,內容是phpinfo();,然後在瀏覽器中訪問該文件地址,看是否正確的php相關信息,如果正確顯示則配置成功。
推薦學習:《PHP影片教學》
以上是linux中如何安裝php的詳細內容。更多資訊請關注PHP中文網其他相關文章!