season22 发表于 2018-11-18 11:13:03

[LAMP]Apache和PHP的结合

  在LAMP架构中,Apache通过PHP模块与Mysql建立连接,读写数据。那么配置Apache和PHP结合的步骤是怎么操作的呢?
  

  1、修改http.conf文件
# cat /usr/local/apache2.4/conf/httpd.conf
......
#ServerName
......

    AllowOverride none
    Require all denied

......

    DirectoryIndex index.html

......
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
......
# vi /usr/local/apache2.4/conf/httpd.conf
......
ServerName         ##取消了注释号
......

    AllowOverride none
    Require all granted                ##更改了denied限制

......

    DirectoryIndex index.html index.php##增加了“index.php”

......
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php##增加了这行
......  2、检查与启动httpd

# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
# /usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: 行 79: 57987 段错误               $HTTPD -k $ARGV  启动出错,因为这里有两个php的模块,注释掉一个即可。
# 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
# /usr/local/apache2.4/bin/apachectl start
# /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、修改防火墙
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 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、配置测试页
# vi /usr/local/apache2.4/htdocs/1.php
  5、客户端打开测试页面(ip/1.php)

  

  ▎如果客户端解析不出来,可以从以下几方面进行排查:
  1)检查php模块是否被加载
# /usr/local/apache2.4/bin/apachectl -M | tail -1
php7_module (shared)  2)检查php模块文件是否存在
# ls /usr/local/apache2.4/modules/libphp*
/usr/local/apache2.4/modules/libphp5.so
/usr/local/apache2.4/modules/libphp7.so  3)检查配置文件是否正确
# 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相关的命令,需要逐一检查。
  

  还可以检查下配置语法是否正确:
# /usr/local/apache2.4/bin/apachectl -t
Syntax OK  

  然后,确认完全无误后,重新尝试打开测试页面。



页: [1]
查看完整版本: [LAMP]Apache和PHP的结合