Apache和PHP结合

xiaoxiao2021-02-28  64

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,

<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

找到

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

增加为

<IfModule dir_module> DirectoryIndex index.html 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)

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

[root@shuai-01 ~]# vi /usr/local/apache2.4/htdocs/1.php <?php phpinfo(); ?>

保存退出后开始访问

能解释1出来的页面就成功了,不能解释出来的就是页面源代码 

没解释出来的问题排查

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

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

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

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

3,查看配置文件中有没有加载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

转载请注明原文地址: https://www.6miu.com/read-2621317.html

最新回复(0)