Apache 和 PHP 结合

Apache 和 PHP 结合

先输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车查看,见下图,
Apache 和 PHP 结合
e2.4/conf/httpd.conf /usr/local/apache2.4/conf/httpd.conf /usr/loc
解析php,这边需要修改以下4个地方:
1、ServerName
2、Require all denied
3、AddType application/x-httpd-php .php
4、DirectoryIndex index.html index.php

1、ServerName

比如之前命令 /usr/local/apache2.4/bin/apachectl restart,回车,见下图,
Apache 和 PHP 结合
这段提示看似报错,其实是正常的提示。如果我们不想看到这段话,就可以在文件 /usr/local/apache2.4/conf/httpd.conf 里面更改。重新使用 vim 进入文件,搜索 /ServerName,具体更改见下图,
Apache 和 PHP 结合
将上图红色框框内的#去掉,保存并退出。重新输入刚才的命令,见下图,
Apache 和 PHP 结合
这边出现错误提示,显示79行有问题,使用 vim 命令再次进入查看,见下图,
Apache 和 PHP 结合
找到79行,在行首用#注释掉内容,保存并退出,接着restart,见下图,
Apache 和 PHP 结合
错误还是存在,停掉后重新打开还是这样。这时候就该想到应该是打开了两个php的结果。使用 !vim 命令,进入,把79行的#去掉,恢复原来的状态,将php7用#注释掉,见下图,
Apache 和 PHP 结合
保存并退出,再尝试重启,见下图,
Apache 和 PHP 结合
这时候就没有提示了。很明显,php5和php7是有冲突的。接着看一下进程,输入命令 ps aux |grep httpd,回车,见下图,
Apache 和 PHP 结合

2、Require all denied

这边需要增加一行配置,现在先查看一下 IP,输入命令 ifconfig,回车,见下图,
Apache 和 PHP 结合
IP 就是上图红色框框显示的 192.168.218.128 。然后在浏览器上的地址栏里面输入 IP 地址,回车,见下图,
Apache 和 PHP 结合
一会之后,可以看到 IP 是无法访问的,蓝色的字体提示“检查代理服务器和防火墙”。那么,遇到这种问题,要怎么排查呢?先在Windows上 cmd 里面 ping 一下 IP,见下图,
Apache 和 PHP 结合
可以看到 IP 是可以通的,接着再判断它的 80 端口。上图显示没有 telnet 这个命令,是因为我们没有打开 telnet 客户端,现在将这个客户端的程序打开,具体操作见下图,
Apache 和 PHP 结合
先打开“控制面板”,点击“程序”,进入下图,
Apache 和 PHP 结合
点击“启用或关闭Windows功能”,进入下图,
Apache 和 PHP 结合
选中“Telnet客户端”,再点击“确定”,一会之后,就显示下图,
Apache 和 PHP 结合
点击关闭即可,返回Windows的cmd,重新输入命令 telnet 192.168.128.218 80,回车,见下图,
Apache 和 PHP 结合
显示 80 端口连接失败。因为 Linux 虚拟机上并没有打开 80 端口,可以在 putty 上使用命令 iptables -nvL 来查看,见下图,
Apache 和 PHP 结合
Apache 和 PHP 结合
Apache 和 PHP 结合
可以看到没有 80 端口,要想让 Windows 访问 80 端口,可以使用命令 iptables -I INPUT -p tcp --dport 80 -j ACCEPT ,临时加上 80 端口,见下图,
Apache 和 PHP 结合
执行完上述命令,回到 Windows 的 cmd 上,重新输入刚才的命令 telnet 192.168.218.128 80,回车,见下图,
Apache 和 PHP 结合
进入这样子的界面,就表示 80 端口通了。按住 ctrl+】,就可以退出上图界面,再输入命令 quit,可以返回到原来的界面。见下图,
Apache 和 PHP 结合
再回到浏览器上刷新刚才的IP地址,见下图,
Apache 和 PHP 结合
可以看到几个大字“It works!”,这样子就表示可以访问了。
回到 putty 上,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /Require,回车,见下图,
Apache 和 PHP 结合
这边需要把上图两个红色框框里的内容做个更改,见下图,
Apache 和 PHP 结合
保存并退出。改完配置后,使用命令 /usr/local/apache2.4/bin/apachectl -t ,来检查配置文件的语法是否正确。见下图,
Apache 和 PHP 结合
可以看到结果是 OK,说明配置文件的语法没有问题。可以故意在配置文件里面加一些任意内容,见下图,
Apache 和 PHP 结合
保存并退出,重新执行命令 /usr/local/apache2.4/bin/apachectl -t,见下图,
Apache 和 PHP 结合
就能看到报错了,所以这是个很有用的命令,可以检测配置文件的语法。再把配置文件改回去,这边不显示过程了。接着重新加载配置文件,使用命令 /usr/local/apache2.4/bin/apachectl graceful,回车,见下图,
Apache 和 PHP 结合
然后回到浏览器上,刷新刚才的 IP 地址,见下图,
Apache 和 PHP 结合
就会看到显示禁止的页面,就是不允许访问的意思。所以,回到配置文件那边,要把两边的内容都改为 granted,保存并退出,见下图,
Apache 和 PHP 结合
这样才可以保证网页是允许访问的。

3、AddType application/x-httpd-php .php
4、DirectoryIndex index.html index.php

增加一行与 php 相关的内容,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /AddType,回车,找到下图内容,
Apache 和 PHP 结合
增加红色框框的内容 AddType application/x-httpd-php .php,再次搜索 /Index,回车,找到下图内容,
Apache 和 PHP 结合
增加红色框框的内容 index.php,保存并退出。然后检查一下配置文件语法,并重新加载配置文件,见下图,
Apache 和 PHP 结合
现在来验证一下,apache 能不能支持解析 php,先来写一个测试的 php 脚本,输入命令 vi /usr/local/apache2.4/htdocs/1.php,回车,见下图,
Apache 和 PHP 结合
输入上图内容,保存并退出。接着回到浏览器,访问地址 192.168.218.128/1.php,
Apache 和 PHP 结合
可以看到这个很漂亮的页面,说明php就支持解析成功了。现在来看一下,不支持解析的话,会出现什么页面?到 putty 上更改配置文件,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,见下图,
Apache 和 PHP 结合
将上图红色框框的这一行,用#号注释掉,保存并退出。接着检查和加载配置文件,见下图,
Apache 和 PHP 结合
然后回到浏览器,刷新页面,见下图,
Apache 和 PHP 结合
出现的就是源代码,这就是php不能解析的情况。所以,以后碰到php不能解析的情况,就要检查一下apache文件,首先要检查php有没有加载,使用命令 /usr/local/apache2.4/bin/apachectl -M,回车,见下图,
Apache 和 PHP 结合
可以看到最后一项有php5。如果没有加载的话,要看一下有没有这个模块文件,输入命令 ls /usr/local/apache2.4/modules/libphp5.so,回车,见下图,
Apache 和 PHP 结合
没有这个文件的话,就无法加载php。如果有文件,而加载项里面没有显示php的话,就要检查配置文件了,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /libphp5.so,见下图,
Apache 和 PHP 结合
查看有没有上图红色框框这一行,没有的话,肯定就不能解析了。接下来继续检查,搜索 /AddType,回车,见下图,
Apache 和 PHP 结合
查看有没有红色框框这一行,然后仔细认真查看,红色框框的内容格式是否正确,这边可以使用命令 /usr/local/apache2.4/bin/apachectl -t 来检查。接着搜索 /index.php,回车,见下图,
Apache 和 PHP 结合
注意上图红色框框的内容是否有添加上去。这个是索引的作用,使用命令 ls /usr/local/apache2.4/htdocs/,回车,见下图,
Apache 和 PHP 结合
里面有个 index.html 文件,这就是之前在上上图定义了 index.php,这边就可以直接跳转访问 index.html 这个文件,所以在浏览器上访问 192.168.218.128 时,会出现 It works!,这几个字。

因php5和php7不能共存,现在来试试php7。进入配置文件,搜索 /libphp,回车,见下图,
Apache 和 PHP 结合
更改上图红色框框的内容,见下图,
Apache 和 PHP 结合
保存并退出,接着检查和加载配置文件,见下图,
Apache 和 PHP 结合
回到 浏览器,刷新页面,见下图,
Apache 和 PHP 结合
也是可以看到这个漂亮的页面,这边注意版本号,和前面的php5是不一样的。说明php7也生效了,可以解析的。在putty上输入命令 /usr/local/php7/bin/php -i |less,回车,见下图,
Apache 和 PHP 结合
可以看到,网页上显示的内容和这边的内容,基本上是一致的。按字母 q 可以退出上图界面。

转载于:https://blog.51cto.com/13503302/2115583

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值