Apache和PHP结合

Apache和PHP结合Apache和PHP结合配置httpd支持PHPServerNameRequirealldeniedAddTypeapplication/x-httpd-php.php//解析PHPDirectoryIndexindex.htmlindex.php[root@shuai-01~]#vim/usr/local/apache2.4/conf/httpd.conf修

大家好,又见面了,我是你们的朋友全栈君。

Apache和PHP结合

配置httpd支持PHP
ServerName
Require all denied
AddType application/x-httpd-php .php //解析PHP
DirectoryIndex index.html index.php

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

修改

找到ServerName 行,取消注释

ServerName www.example.com:80

找到Require all,将Require all denied 改为Require all granted,不然会返回403

<Directory />
    AllowOverride none
    Require all granted
</Directory>

Require all granted

找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
这里写图片描述

增加

AddType application/x-httpd-php .php  //增加这一行的目的是为了解析php文件

这里写图片描述

找到

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

增加为

<IfModule dir_module>
    DirectoryIndex index.html index.php //增加一个索引页index.php
</IfModule>

这里写图片描述

检测配置文件语法是否有错误

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK

重新加载配置文件,这个很重要(平时我们改完配置文件后,检查一下配置文件语法,然后就重启服务了。再重启服务前加上重新加载配置文件后,即使配置文件有错,也不会见你的服务进程杀掉)

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

配置成功

这里写图片描述

访问PHP其实是访问(/usr/local/apache2.4/htdocs/*.php)
配置文件中有一行是
这里写图片描述

DocumentRoot "/usr/local/apache2.4/htdocs" // 这一行规定的是访问目录

<Directory "/usr/local/apache2.4/htdocs"> //这一个是对访问目录进行的配置

在该目录下写一个1.php 文件

[root@shuai-01 ~]# vi /usr/local/apache2.4/htdocs/1.php

<?php
phpinfo();//这个函数可以把PHP相关信息打印出来
?>

保存退出后开始访问

这里写图片描述

能解释1出来的页面就成功了,不能解释出来的就是页面源代码
这里写图片描述

没解释出来的问题排查

1, 检查有没有加载PHP5的模块

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -M

这里写图片描述

2,没加载模块,看apache有没有模块文件

[root@shuai-01 ~]# ls /usr/local/apache2.4/modules/libphp5.so 
/usr/local/apache2.4/modules/libphp5.so

3,查看apache配置文件中有没有加载libphp5.so的配置

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

LoadModule php5_module        modules/libphp5.so

4,看配置文件中有没有加

AddType application/x-httpd-php .php

问题1:
Apache服务开启可能回有的报错,这个其实是一个告警

这里写图片描述

编写配置文件(/usr/local/apache2.4/conf/httpd.conf):

找到ServerName 行,取消注释

ServerName www.example.com:80

问题2 :
Apache服务开启可能回有的报错

/usr/local/apache2.4/bin/apachectl: 行 79:  3519 段错误               $HTTPD -k $ARGV

这里写图片描述

是你跑了两个PHP模块,注释掉一个。

LoadModule php5_module        modules/libphp5.so
#LoadModule php7_module        modules/libphp7.so

问题3:

这里写图片描述

排查方法:

1,看IP是否通。
这里写图片描述
IP通,再看80端口是否开启

这里写图片描述
因为Windows没有打开Telnet客户端
打开客户端
控制面板-程序-打开或关闭Windows功能
这里写图片描述

这里写图片描述

这是就打开了Telnet,但是没通(服务端没规则iptables)
这里写图片描述

零时在linux下添加规则

[root@shuai-01 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

此时Telnet看一下端口
这里写图片描述
通了

刷新一下浏览器
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157953.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 简单的存在 (方法之间的神奇作用:容错)

    php 简单的存在 (方法之间的神奇作用:容错)

    2022年1月7日
  • UML 用例图_uml建模用例图和细化用例

    UML 用例图_uml建模用例图和细化用例UML用例图参考【UML】—用例图用例图初学UML——用例图需求中如何画用例图为什么使用用例图从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。用例建模起源于面向对象建模。概念图形化地描述了谁将使用该系统以及用户希望与系统交互的方式。业务事件的文本描述以及用户如何与系统交互以完成任务。参与者参与者是与系统…

    2022年9月6日
  • 联盟卡结合异业联盟,如何建立一个完善的联盟生态会员体系?「建议收藏」

    联盟卡结合异业联盟,如何建立一个完善的联盟生态会员体系?「建议收藏」对于我们所认知的联盟,生态就是联盟生态,也就是说,如果我们要做一个联盟卡,然后通过我们的联盟卡去建立我们的会员。那如何来建立呢?分四个方式来讲。首先第一个方式要建立完善的一个会员体系,把这个会员体系给架构起来。如何成为我们平台的会员,以及说成有平台会员之后可以享受平台的一种权益。再者的话就是如何让我们的会员去帮助我们平台去做裂变,也就是我们经常讨论的一个问题,如何去做分享?那么在这个环节中如何去做一个线上电子权益卡,通过入口让用户可以去购买,或者叫免费卡也行,这个都是由平台去做设定的,开通后可以去享受我们相

    2022年6月15日
  • python fabric实现远程操作和部署

    python fabric实现远程操作和部署

    2021年12月4日
  • linux内核 5.0,Linux Kernel 5.0 正式发布,FreeSync支持[通俗易懂]

    linux内核 5.0,Linux Kernel 5.0 正式发布,FreeSync支持[通俗易懂]LinusTorvalds已经取得了进展,刚刚发布了Linux5.0稳定内核,最初是作为Linux4.21内核周期提供主线AMDRadeonFreeSync支持,持续开发英特尔Icelake和其他新CPU功能,罗技高分辨率滚动功能,网络改进等等。在今天的LinuxKernel5.0版本中,创建者LinusTorvalds评论道,“LinuxKernel5.0发布的最后一周并不完…

    2022年5月30日
  • case when 判断_sqlservercase用法

    case when 判断_sqlservercase用法casewhen简单用法—改变结果SELECTCASE id WHEN21THEN ‘aaaaa’ WHEN22THEN ‘bbbbb’ELSE’其他’ END FROM hrmresource WHERE id=23casewhen复杂用法—执行不同的sqlSELECT ( CASE WHENa.id=21THEN (SELECTidFROMhrmresourceWHEREidIN(21

    2022年9月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号