在LAMP架构中,Apache通过PHP模块与Mysql建立连接,读写数据。那么配置Apache和PHP结合的步骤是怎么操作的呢?
1、修改http.conf文件
[root@juispan ~]# cat /usr/local/apache2.4/conf/httpd.conf ...... #ServerName ...... <Directory /> AllowOverride none Require all denied </Directory> ...... <IfModule dir_module> DirectoryIndex index.html </IfModule> ...... AddType application/x-compress .Z AddType application/x-gzip .gz .tgz ...... [root@juispan ~]# vi /usr/local/apache2.4/conf/httpd.conf ...... ServerName ##取消了注释号 ...... <Directory /> AllowOverride none Require all granted ##更改了denied限制 </Directory> ...... <IfModule dir_module> DirectoryIndex index.html index.php ##增加了“index.php” </IfModule> ...... AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php ##增加了这行 ......
2、检查与启动httpd
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@juispan ~]# /usr/local/apache2.4/bin/apachectl start /usr/local/apache2.4/bin/apachectl: 行 79: 57987 段错误 $HTTPD -k $ARGV
启动出错,因为这里有两个php的模块,注释掉一个即可。
[root@juispan ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep -i php #LoadModule php5_module modules/libphp5.so ##这里用php 7 LoadModule php7_module modules/libphp7.so DirectoryIndex index.html index.php AddType application/x-httpd-php .php [root@juispan ~]# /usr/local/apache2.4/bin/apachectl start [root@juispan ~]# /usr/local/apache2.4/bin/apachectl -M | tail -2 alias_module (shared) php7_module (shared)
使用graceful能直接刷新配置,而不重启httpd服务。按ctrl+r能搜索命令历史。
(reverse-i-search)`graceful‘: /usr/local/apache2.4/bin/apachectl graceful
3、修改防火墙
[root@juispan ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT^C [root@juispan ~]# iptables -nvL | grep ‘:80‘ 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NEW
4、配置测试页
[root@juispan ~]# vi /usr/local/apache2.4/htdocs/1.php <?php phpinfo(); ?>
5、客户端打开测试页面(ip/1.php)
▎如果客户端解析不出来,可以从以下几方面进行排查:
1)检查php模块是否被加载
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -M | tail -1 php7_module (shared)
2)检查php模块文件是否存在
[root@juispan ~]# ls /usr/local/apache2.4/modules/libphp* /usr/local/apache2.4/modules/libphp5.so /usr/local/apache2.4/modules/libphp7.so
3)检查配置文件是否正确
[root@juispan ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep ‘php‘ #LoadModule php5_module modules/libphp5.so LoadModule php7_module modules/libphp7.so DirectoryIndex index.html index.php AddType application/x-httpd-php .php
配置文件中,有三条php相关的命令,需要逐一检查。
还可以检查下配置语法是否正确:
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK
然后,确认完全无误后,重新尝试打开测试页面。
本文出自 “A man & A computer” 博客,请务必保留此出处http://juispan.blog.51cto.com/943137/1951770
原文:http://juispan.blog.51cto.com/943137/1951770