1001 ll /opt/lampp/modules/php
1002 history | grep httpdcss
1003 vim /etc/httpd/conf/httpd.conf html
1004 vim /etc/httpd/conf/httpd.confweb
1005 history | grep httpdsql
1006 service httpd restartapache
1007 history vim
[root@iZ2834y8cmdZ ~]# centos
修改Apache的配置文件httpd.conf瀏覽器
1.服務器
鍵:DirectoryIndex
值:index.html index.php
#註釋:添加index.php
2.
找到配置文件中已有的這兩項:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在這兩項下方,添加以下支持內容:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php
3.
本來是打算添加 libphp5.so 模塊,因 PHP 已升級到 7 ,遂做罷。
LoadModule php5_module modules/libphp5.so (已過期)
4.
編寫測試文件index.php內容以下
<?php
phpinfo();
?>
# yum install httpd (centos之下,Apache的名字叫httpd,和Apache的主程序 httpd.exe 同名)
(1)先確保,雲服務器的80端口,是容許外網訪問的。
(2)開啓Apache服務
# service httpd start (centos之下,Apache的名字叫httpd,和Apache的主程序 httpd.exe 同名)
(3)測試Apache是否正常運行
瀏覽器輸入: 外網IP : 80 若是能正常顯示 Apache 的內置主頁,則說明Apache服務已正常開啓。
參照如下兩篇文章:
(1)在centos7經過yum安裝PHP7
(2)Centos7 安裝 PHP7最新版
步驟都是大同小異的
咱們這裏統一採用 RPM + YUM 模式,進行 PHP 7 的安裝:
1.由於此處安裝須要epel-release做爲前提條件,因此
先安裝epel-release
:rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm (該地址可能失效。若失效,如404錯誤,參照下面加粗字部分,提供的解決辦法。)
- 1
2.安裝PHP7的rpm源:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- 1
3.安裝PHP7:
yum install php70w
- 1
1、上述第1步,epel-release的地址,極容易失效,產生404錯誤。
如下是獲取最新的 .rpm 文件的方法:
參見這篇文章 在CentOS上安裝第三方軟件庫EPEL
其中有這樣一句提示:
一、要安裝最新版本的EPEL,請前往 http://mirrors.ustc.edu.cn/fedora/epel/ 中查找最新版本的URL地址
最後獲得的有效 .rpm 的URL是:
http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm (2017年10月12日 親測有效)
# php -v
- 1
- 2
- 3
若是可以正常顯示版本信息,則說明已經安裝成功。
如:
PHP 7.0.23 (cli) (built: Sep 16 2017 12:47:01)( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
- 1
- 2
- 3
參考這兩篇文章:
老一點的版本:Linux下apache支持PHP配置
新一點的版本:Linux安裝Apache 2.4 + PHP 7 + Mysql筆記
前面一篇是 PHP 5.6 的,可是比較經典。
後面一篇是 PHP 7.0 的,有一些新方法加進去。
從PHP5.6中採納的步驟
修改Apache的配置文件httpd.conf
1.
鍵:DirectoryIndex
值:index.html index.php#註釋:添加index.php
2.
找到配置文件中已有的這兩項:AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz在這兩項下方,添加以下支持內容:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3.
本來是打算添加 libphp5.so 模塊,因 PHP 已升級到 7 ,遂做罷。
LoadModule php5_module modules/libphp5.so(已過期)4.
編寫測試文件index.php內容以下
<?php phpinfo(); ?>
- 1
- 2
- 3
而後
放至Apache的默認的Web站點目錄DocumentRoot
之下#註釋:默認路徑爲,/var/www/html
從PHP 7 中採納的步驟
1.
添加最新的 libphp7.so 模塊:
LoadModule php7_module modules/libphp7.so
- 1
(附註,也能夠統一寫到 /etc/httpd/conf.module.d/00-base.conf 裏面,進行統一管理。)
2.
結尾處,添加 .php 文件支持 (該功能彷佛與
PHP 5.6
的第2步重複,但倒是不衝突)<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
- 1
- 2
- 3
修改配置後,Apache發生故障,啓動不了了
能夠參見下面這篇文章,講的很是詳細
解決apache啓動失敗:Job for httpd.service failed.
http://blog.csdn.net/ironali/article/details/45228699
service httpd start
而後彈出這樣提示: Job for httpd.servicefailed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
此時只要按照提示,輸入
systemctl status httpd.service
就能夠獲知,詳細的出錯緣由,
好比: line 56 : LoadModule takes two arguments, a module name and the name of a shared object file to load it from
(提示,LoadModule這裏,參數列表發生了錯誤)
每一次修改後,嘗試從新調試,是不能直接輸入systemctl status httpd.service
看結果的。
必需要:
先
service httpd start
再 systemctl status httpd.service
我一直傻乎乎的只用 systemctl status httpd.service
,浪費了近一個小時時間!
# 註釋
,很容易被程序理解爲是最後一個新參數
1. 如同②所講的,
systemctl
命令————>有着極大的顯示延遲(或者是,只是回顯Log調試記錄)。因此,必需要service httpd start
來進行刷新。刷新以後,從新systemctl
才能解決這一問題!
2. PHP 5.6 的安裝攻略,和 PHP 7 的安裝攻略——————>在兩份攻略合併時的問題,必需要當心。——————>可是實際上二者很兼容???
3. 存在一個神奇的文件夾
conf.module.d/
,全部的LoadModule xy.so
均可以統一放在這個文件夾下。
由於/etc/httpd/conf/httpd.conf
這個配置文件,會Include conf.module.d/*.conf
進行統一一鍵加載。
固然,直接在/etc/httpd/conf/httpd.conf
這個配置文件裏,一個個LoadModule za.conf
也是能夠的。(效果等同,並且 Apache啓動時,會自動處理重複的LoadModule 同名so
)
4. 切記切記!!!
httpd.conf
這個文件,最好最好甚至說絕對不要在句尾寫# 註釋
!,
註釋,最好是所有另起一行!
否則,很容易被看成最後一個參數(空格做祟)
# mv /root/my /var/www/html
- 1
- 2
- 3
瀏覽器輸入: 120.xx.136.147/my
若能顯示出項目的網頁內容,則一切正常