Apache和PHP结合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache和PHP结合相关的知识,希望对你有一定的参考价值。

技术分享图片
#vim /usr/local/apache2.4/conf/httpd.conf 编辑httpd配置文件,php解析,修改4处:
第一处:将 #ServerName www.example.com:80 修改为 ServerName www.example.com:80,去掉前面的#
#/usr/local/apache2.4/bin/apachectl stop //停止httpd服务
#/usr/local/apache2.4/bin/apachectl start //开启httpd服务
启动httpd报错:/usr/local/apache2.4/bin/apachectl: line 79: 47885 Segmentation fault $HTTPD -k $ARGV
解决方法:vim /usr/local/apache2.4/conf/httpd.conf
注释掉152行的PHP7 #LoadModule php7_module modules/libphp7.so
#/usr/local/apache2.4/bin/apachectl start //再次启动就不报错了
#ps aux |grep httpd
在浏览器直接输入本机ip试试 是否可以访问的到,如访问不到,排查原因:
1、首先ping 本机IP是否可以ping通
2、telnet 本机 80端口 (打开windows的Telnet功能---控制面板---程序和功能----打开或关闭windows功能--打开Telnet客户端,然后再telnet 本机ip 80端口 ,查看是否可以通,退出Telnet使用Ctrl+],然后再quit退出
3、# iptables -nvL //查看80端口是否被放行,如果没有放行,添加一条规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
再访问本机的80端口就没有问题了
第二处:将 Require all denied 修改为 Require all granted
#/usr/local/apache2.4/bin/apachectl -t //检查配置文件语法是否正确
#/usr/local/apache2.4/bin/apachectl graceful //重新加载配置文件
第三处:在如下两行增加一行PHP的 AddType application/x-httpd-php .php
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
第四处: 在如下第二行增加index.php
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
#/usr/local/apache2.4/bin/apachectl -t //测试配置文件语法是否正确
#/usr/local/apache2.4/bin/apachectl graceful //重新加载
#vi /usr/local/apache2.4/htdocs/1.php //手动创建一个测试脚本1.php,脚本内容如下:
<?php
phpinfo();
?>
然后我们可以在浏览器访问本机IP/1.php,可以查看到如下界面
技术分享图片
如果不增加上面第三处的AddType application/x-httpd-php .php这一行,访问页面将会显示的是源代码
遇到PHP解析不了,查看Apache配置文件,需要检查的选项有:
1、# /usr/local/apache2.4/bin/apachectl -M //检查有没有加载PHP5模块,
2、如果没有,请查看有没有这个文件# ls /usr/local/apache2.4/modules/libphp5.so,如果有这个文件,但是没有加载,请查看Apache配置文件LoadModule php5_module modules/libphp5.so这一行是否加载
3、查看配置文件是否有加载AddType application/x-httpd-php .php这一行
4、查看有没有加index.php,为什么需要加这个index.php,是我们访问一个网页它默认可以跳转到这个页面下去
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

使用PHP7,把PHP先禁用下:
修改配置文件,注释掉PHP5这一行 #LoadModule php5_module modules/libphp5.so
使用PHP7这一行 LoadModule php7_module modules/libphp7.so
快捷键小技巧:在查找命令历史的时候,按Ctrl+r ,然后输入命令的后面参数,它会自动帮你快速查到你使用过的历史命令
#/usr/local/apache2.4/bin/apachectl -t //检查语法是否正确
#/usr/local/apache2.4/bin/apachectl graceful //重新加载配置,加载完在浏览器可以看到PHP版本变化为PHP7.1.6
技术分享图片
上面浏览器看到的图形和# /usr/local/php7/bin/php -i |less命令看到信息其实是一样的

以上是关于Apache和PHP结合的主要内容,如果未能解决你的问题,请参考以下文章

4.Apache和PHP结合 Apache默认虚拟主机

apache和php结合apache的默认虚拟主机

Apache和PHP结合Apache默认虚拟主机

PHP和Apache结合 Apache默认虚拟主机

Apache和PHP结合,Apache默认虚拟主机

apache和php结合(配置httpd支持php)