1. 程式人生 > >CentOS7安裝HTTPD, PHP7.2真實記錄兼教程之二

CentOS7安裝HTTPD, PHP7.2真實記錄兼教程之二

之一寫後就釋出了,看了看效果一般,首先是內容有點遺漏,比如開機啟動Httpd, 關閉,重啟動等。 這裡補上程式碼:

**systemctl** enable httpd.service
systemctl stop httpd.service
systemctl restart httpd.service

現在介紹PHP7.2安裝的情況,參考了一老外的英文描述,當然也是網友給的連結。在此表示感謝。
眾所周知,如果預設安裝,一般就安裝了5.4等,但現在據說7.2已經不錯,所以直接接受安裝7.2.
安裝軟體,當然有幾種方式,但yum的這種的確很好,安裝上了就自行解決了依賴問題。但yum的使用總感覺有點難度,希望儘快掌握起來。今天介紹的這個安裝思路,就是老外在yum源問題上,和使用enable上給了我啟發。
還是直接上程式碼和效果圖:
. yum install epel-release


這個源貌似很厲害,好多引用的,順便說一句,我安裝時不加-y,這樣我可以看到安裝時的情景。對於熟悉安裝好處大大的。
如圖
在這裡插入圖片描述
在這裡插入圖片描述

yum install  http://rpms.remirepo.net/enterprise/remi-release-7.rpm

安裝後效果如圖
在這裡插入圖片描述
還要安裝yum-utils包

yum install yum-utils

效果如圖
在這裡插入圖片描述

然後, 使remi源生效,開啟remi-php72, 這個對我們有啟發,當然也要知道里面有PHP7.2才行。

yum-config-manager --enable remi-php72

接下來,

yum update

這個讓人見識了,1500左右個包被更新,應該有相當部分是上面兩個源的。這樣一來,找到PHP72應該是很容易的了。
現在找找PHP7.2, 裡面太多了, 節省篇幅,不上圖了。

yum search php72 | more
yum install php72

見證奇蹟的時刻了,結果只安裝了1+7個包;
還有大量的其他必要的擴充套件需要安裝,好在老外也給了明細,裡面比較對PHP比較重要的是:我認為, php-fpm; php-mysqlnd 為mysql準備的,看起來都很重要。

 yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache
 下面是兩張圖,反映了安裝的成果。

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181204182033225.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181204182144446.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
接下來是檢驗安裝成功與否的時刻了,鍵入Php --version, 結果是 bash: php: command not found..., 難道是沒有安裝成功,別捉急,是這種安裝,和平常的安裝不一樣,安裝路徑不一樣造成的:使用, 我現在是[
[email protected]
~]$ 目錄下,

sudo find / -name php

反饋是:/var/opt/remi/php72/lib/php
/usr/share/swig/2.0.10/php
/opt/remi/php72/root/usr/bin/php
/opt/remi/php72/root/usr/lib64/php
/opt/remi/php72/root/usr/share/php
我們只要將安裝路徑的php和/usr/local/bin/ 連結起來就行了。程式碼如下圖

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181204202957391.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
好了,安裝完成了,進入試驗和配置階段了,這個也是最讓人頭疼的,我的原則是,暫時不動配置檔案,先一步一步試驗,並作出正確選擇,PHP7.2是使用php-fpm來處理httpd和php關係的,這樣表達也許不準確,讓我們看程式碼, 先啟動fpm

systemctl start php72-php-fpm.service
systemctl status php72-php-fpm.service
systemctl enable php72-php-fpm.service

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181204204003562.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
既然兩個東東都已經啟動,我們看看是不是localhost那邊能正常嗎?分別看,只有localhost時, 正常,我們在Httpd的根目錄,也就是/var/www/html/下做兩個檔案, test.html; test.php; 結果html正常,而php檔案如下圖,顯然是php檔案沒有解析。![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181204205052138.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
我們只好研究一下如何做相應的配置了。
經過幾次兩個電腦上的分析研究,最終得出的結論相當驚人,按照上面的步驟證券安裝,其實是不需要配置的。因為這個虛擬機器上安裝的PHP72已經讓我改的很多,所以,索性全部刪掉,重新走一遍,希望這次能夠一次成功。程式碼如下:
多用幾個類似命令,刪除

sudo yum remove php72
sudo yum remove php
sudo yum remove php72*
sudo yum remove php*
sudo yum list installed | grep php
rpm -qa | grep php

最後兩行是檢查還有沒有的,其實應該沒有了,我這裡已經沒有了。
然後乾脆重新走一遍,相當於練習吧

sudo yum install epel-release
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72
sudo yum update

前面的幾行反饋都是 already installed, nothing to do 云云。最後一行居然還update了一下remi.
有到關鍵地方,開始安裝

sudo yum install php

Install  1 Package (+3 Dependent packages) 大家應該懂,然後安裝擴充套件;

sudo yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache

說實在的,安裝上這些擴充套件,是不是能夠了,不是很有底,fpm是不可或缺的,待會檢視都安裝了些什麼。
安裝了8+3個比我練習的時候貌似少了些。果不其然,程式碼如下:

systemctl status php72-php-fpm

沒有啟動,再找些擴充套件安裝上,再試,不要試圖配置什麼的。
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181205160314557.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
需要說明的是,第一次安裝的擴充套件來自介紹使用REMI的老外,他的目的是安裝PHP7.2和NGINX,第二次找的是安裝PHP7.2 和 HTTPD的,希望這次圓滿。
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181205160851373.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
果不然,這次成功了,然後再看LOCALHOST那邊
在/VAR/WWW/HTML/目錄寫了兩個目錄info.php, test.php, 顯示成功。
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181205161207248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01hcmsyMTU3Nw==,size_16,color_FFFFFF,t_70)
當然,不要忘了設定開機使能

systemctl enable php72-php-fpm.service

然後reboot, 這次是一次搞定。但網上有人反映remi有些不穩定,如果不行,可以多試幾次。