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个地方:
一、ServerName
二、Require all denied
三、AddType application/x-httpd-php .php
四、DirectoryIndex index.html index.phpphp

一、ServerNamehtml

好比以前命令 /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 结合apache

二、Require all deniedvim

这边须要增长一行配置,如今先查看一下 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 结合
这样才能够保证网页是容许访问的。浏览器

三、AddType application/x-httpd-php .php
四、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!,这几个字。php7

因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 能够退出上图界面。app

相关文章
相关标签/搜索