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

最詳細的linux安裝php過程

Mar 08, 2018 am 10:04 AM
linuxphp過程

本文主要跟大家分享最詳細的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
繼續使用PHP:耐力的原因繼續使用PHP:耐力的原因Apr 19, 2025 am 12:23 AM

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

PHP和Python:探索他們的相似性和差異PHP和Python:探索他們的相似性和差異Apr 19, 2025 am 12:21 AM

PHP和Python都是高層次的編程語言,廣泛應用於Web開發、數據處理和自動化任務。 1.PHP常用於構建動態網站和內容管理系統,而Python常用於構建Web框架和數據科學。 2.PHP使用echo輸出內容,Python使用print。 3.兩者都支持面向對象編程,但語法和關鍵字不同。 4.PHP支持弱類型轉換,Python則更嚴格。 5.PHP性能優化包括使用OPcache和異步編程,Python則使用cProfile和異步編程。

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:25 AM

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

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

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

PHP和框架:現代化語言PHP和框架:現代化語言Apr 18, 2025 am 12:14 AM

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

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

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

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境