设为首页 收藏本站
查看: 1153|回复: 0

[经验分享] Apache 和 PHP 结合

[复制链接]
YunVN网友  发表于 2018-11-17 12:00:53 |阅读模式
DSC0000.jpg

  先输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车查看,见下图,
DSC0001.jpg

  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,回车,见下图,
DSC0002.jpg

  这段提示看似报错,其实是正常的提示。如果我们不想看到这段话,就可以在文件 /usr/local/apache2.4/conf/httpd.conf 里面更改。重新使用 vim 进入文件,搜索 /ServerName,具体更改见下图,
DSC0003.jpg

  将上图红色框框内的#去掉,保存并退出。重新输入刚才的命令,见下图,
DSC0004.jpg

  这边出现错误提示,显示79行有问题,使用 vim 命令再次进入查看,见下图,
DSC0005.jpg

  找到79行,在行首用#注释掉内容,保存并退出,接着restart,见下图,
DSC0006.jpg

  错误还是存在,停掉后重新打开还是这样。这时候就该想到应该是打开了两个php的结果。使用 !vim 命令,进入,把79行的#去掉,恢复原来的状态,将php7用#注释掉,见下图,
DSC0007.jpg

  保存并退出,再尝试重启,见下图,
DSC0008.jpg

  这时候就没有提示了。很明显,php5和php7是有冲突的。接着看一下进程,输入命令 ps aux |grep httpd,回车,见下图,
DSC0009.jpg

  2、Require all denied
  这边需要增加一行配置,现在先查看一下 IP,输入命令 ifconfig,回车,见下图,
DSC00010.jpg

  IP 就是上图红色框框显示的 192.168.218.128 。然后在浏览器上的地址栏里面输入 IP 地址,回车,见下图,
DSC00011.jpg

  一会之后,可以看到 IP 是无法访问的,蓝色的字体提示“检查代理服务器和防火墙”。那么,遇到这种问题,要怎么排查呢?先在Windows上 cmd 里面 ping 一下 IP,见下图,
DSC00012.jpg

  可以看到 IP 是可以通的,接着再判断它的 80 端口。上图显示没有 telnet 这个命令,是因为我们没有打开 telnet 客户端,现在将这个客户端的程序打开,具体操作见下图,
DSC00013.jpg

  先打开“控制面板”,点击“程序”,进入下图,
DSC00014.jpg

  点击“启用或关闭Windows功能”,进入下图,
DSC00015.jpg

  选中“Telnet客户端”,再点击“确定”,一会之后,就显示下图,
DSC00016.jpg

  点击关闭即可,返回Windows的cmd,重新输入命令 telnet 192.168.128.218 80,回车,见下图,
DSC00017.jpg

  显示 80 端口连接失败。因为 Linux 虚拟机上并没有打开 80 端口,可以在 putty 上使用命令 iptables -nvL 来查看,见下图,
DSC00018.jpg

DSC00019.jpg

DSC00020.jpg

  可以看到没有 80 端口,要想让 Windows 访问 80 端口,可以使用命令 iptables -I INPUT -p tcp --dport 80 -j ACCEPT ,临时加上 80 端口,见下图,
DSC00021.jpg

  执行完上述命令,回到 Windows 的 cmd 上,重新输入刚才的命令 telnet 192.168.218.128 80,回车,见下图,
DSC00022.jpg

  进入这样子的界面,就表示 80 端口通了。按住 ctrl+】,就可以退出上图界面,再输入命令 quit,可以返回到原来的界面。见下图,
DSC00023.jpg

  再回到浏览器上刷新刚才的IP地址,见下图,
DSC00024.jpg

  可以看到几个大字“It works!”,这样子就表示可以访问了。
  回到 putty 上,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /Require,回车,见下图,
DSC00025.jpg

  这边需要把上图两个红色框框里的内容做个更改,见下图,
DSC00026.jpg

  保存并退出。改完配置后,使用命令 /usr/local/apache2.4/bin/apachectl -t ,来检查配置文件的语法是否正确。见下图,
DSC00027.jpg

  可以看到结果是 OK,说明配置文件的语法没有问题。可以故意在配置文件里面加一些任意内容,见下图,
DSC00028.jpg

  保存并退出,重新执行命令 /usr/local/apache2.4/bin/apachectl -t,见下图,
DSC00029.jpg

  就能看到报错了,所以这是个很有用的命令,可以检测配置文件的语法。再把配置文件改回去,这边不显示过程了。接着重新加载配置文件,使用命令 /usr/local/apache2.4/bin/apachectl graceful,回车,见下图,
DSC00030.jpg

  然后回到浏览器上,刷新刚才的 IP 地址,见下图,
DSC00031.jpg

  就会看到显示禁止的页面,就是不允许访问的意思。所以,回到配置文件那边,要把两边的内容都改为 granted,保存并退出,见下图,
DSC00032.jpg

  这样才可以保证网页是允许访问的。
  3、AddType application/x-httpd-php .php
  4、DirectoryIndex index.html index.php
  增加一行与 php 相关的内容,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /AddType,回车,找到下图内容,
DSC00033.jpg

  增加红色框框的内容 AddType application/x-httpd-php .php,再次搜索 /Index,回车,找到下图内容,
DSC00034.jpg

  增加红色框框的内容 index.php,保存并退出。然后检查一下配置文件语法,并重新加载配置文件,见下图,
DSC00035.jpg

  现在来验证一下,apache 能不能支持解析 php,先来写一个测试的 php 脚本,输入命令 vi /usr/local/apache2.4/htdocs/1.php,回车,见下图,
DSC00036.jpg

  输入上图内容,保存并退出。接着回到浏览器,访问地址 192.168.218.128/1.php,
DSC00037.jpg

  可以看到这个很漂亮的页面,说明php就支持解析成功了。现在来看一下,不支持解析的话,会出现什么页面?到 putty 上更改配置文件,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,见下图,
DSC00038.jpg

  将上图红色框框的这一行,用#号注释掉,保存并退出。接着检查和加载配置文件,见下图,
DSC00039.jpg

  然后回到浏览器,刷新页面,见下图,
DSC00040.jpg

  出现的就是源代码,这就是php不能解析的情况。所以,以后碰到php不能解析的情况,就要检查一下apache文件,首先要检查php有没有加载,使用命令 /usr/local/apache2.4/bin/apachectl -M,回车,见下图,
DSC00041.jpg

  可以看到最后一项有php5。如果没有加载的话,要看一下有没有这个模块文件,输入命令 ls /usr/local/apache2.4/modules/libphp5.so,回车,见下图,
DSC00042.jpg

  没有这个文件的话,就无法加载php。如果有文件,而加载项里面没有显示php的话,就要检查配置文件了,输入命令 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /libphp5.so,见下图,
DSC00043.jpg

  查看有没有上图红色框框这一行,没有的话,肯定就不能解析了。接下来继续检查,搜索 /AddType,回车,见下图,
DSC00044.jpg

  查看有没有红色框框这一行,然后仔细认真查看,红色框框的内容格式是否正确,这边可以使用命令 /usr/local/apache2.4/bin/apachectl -t 来检查。接着搜索 /index.php,回车,见下图,
DSC00045.jpg

  注意上图红色框框的内容是否有添加上去。这个是索引的作用,使用命令 ls /usr/local/apache2.4/htdocs/,回车,见下图,
DSC00046.jpg

  里面有个 index.html 文件,这就是之前在上上图定义了 index.php,这边就可以直接跳转访问 index.html 这个文件,所以在浏览器上访问 192.168.218.128 时,会出现 It works!,这几个字。
  因php5和php7不能共存,现在来试试php7。进入配置文件,搜索 /libphp,回车,见下图,
DSC00047.jpg

  更改上图红色框框的内容,见下图,
DSC00048.jpg

  保存并退出,接着检查和加载配置文件,见下图,
DSC00049.jpg

  回到 浏览器,刷新页面,见下图,
DSC00050.jpg

  也是可以看到这个漂亮的页面,这边注意版本号,和前面的php5是不一样的。说明php7也生效了,可以解析的。在putty上输入命令 /usr/local/php7/bin/php -i |less,回车,见下图,
DSC00051.jpg

  可以看到,网页上显示的内容和这边的内容,基本上是一致的。按字母 q 可以退出上图界面。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636195-1-1.html 上篇帖子: Apache和PHP结合,Apache虚拟主机 下篇帖子: Apache 默认虚拟主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表