首頁 後端開發 php教程 最詳細的linux安裝php過程

最詳細的linux安裝php過程

Mar 08, 2018 am 10:04 AM
linux php 過程

本文主要跟大家分享最詳細的linux安裝php過程,之前寫好了nginx的安裝配置,後面就是php的安裝和mysql的安裝,不過時間有限,而且放一篇裡也太長,所以都是分開來寫,php安裝完畢後就是mysql的配置了。

一:檢查是否安裝了php

1)yum安裝檢查:yum list installed |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語言寫的比較底層的讀寫png檔案的跨平台的函式庫,可以幫助輕鬆的讀寫png檔的每一行像素,php的gd函式庫所需。

6)freetype以及freetype-devel 免費開源的且可移植的字體引擎,提供統一的介面存取多種字體格式,這兩個都是gd庫的依賴軟體,所以如果沒有安裝,或者版本太低,在安裝php時設定的是安裝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軟體的開發包,包含頭檔以及靜態函式庫甚至原始碼。

三:php下載安裝

1)用wget下載php的tar.gz檔:wget http://br2.php.net/get/php-7.2.2.tar. gz

2)解壓縮tar.gz檔:tar zxvf php-7.2.2.tar.gz

3)新建待會安裝php的資料夾:mkdir /usr/local/ php,然後進入解壓縮後的php安裝包資料夾裡,設定configure:

./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-opcache  --enable-pcntl  --enable-shmop  --enable-p 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,用戶方可以透過上傳​​圖片來上傳木馬,然後透過url訪問該圖片地址,並在地址後面加入/xxx.php將該圖片作為php檔案運行,這是只有在nginx才會存在的問題,apache和iis都沒有該問題

以上問題可以直接參看鳥哥的博客,寫的相當詳細: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最後的include的值是不是正確的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

去除location ~ \.php${...}這段程式碼的註釋,並將fastcgi_param裡的/scripts改為$document_root


最後將location / {...}裡預設index後面加上上index.php,確保index.php作為預設的首頁


6)重啟php-fpm和nginx,可以killall 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相關信息,如果正確顯示則配置成功。

七:配合apache支援php,這個後續再添加,to be continue...

#相關推薦:

Linux安裝php報錯記錄

linux安裝php 模組--with-mysql --with-mysqli非得安裝mysql嗎

linux安裝php與memcache過程記錄

以上是最詳細的linux安裝php過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP的影響:網絡開發及以後 PHP的影響:網絡開發及以後 Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP與Python:用例和應用程序 PHP與Python:用例和應用程序 Apr 17, 2025 am 12:23 AM

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。

繼續使用PHP:耐力的原因 繼續使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

See all articles