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
若能显示出项目的网页内容,则一切正常