LAMP-Apache和PHP的结合

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

1、修改http.conf文件

[[email protected] ~]# 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
......
[[email protected] ~]# 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

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: 行 79: 57987 段错误               $HTTPD -k $ARGV

启动出错,因为这里有两个php的模块,注释掉一个即可。

[[email protected] ~]# 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
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl start
[[email protected] ~]# /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、修改防火墙

[[email protected] ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT^C
[[email protected] ~]# 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、配置测试页

[[email protected] ~]# vi /usr/local/apache2.4/htdocs/1.php
<?php
phpinfo();
?>

5、客户端打开测试页面(ip/1.php)

▎如果客户端解析不出来,可以从以下几方面进行排查:

1)检查php模块是否被加载

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M | tail -1
 php7_module (shared)

2)检查php模块文件是否存在

[[email protected] ~]# ls /usr/local/apache2.4/modules/libphp*
/usr/local/apache2.4/modules/libphp5.so
/usr/local/apache2.4/modules/libphp7.so

3)检查配置文件是否正确

[[email protected] ~]# 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相关的命令,需要逐一检查。

还可以检查下配置语法是否正确:

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK

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

时间: 2024-08-24 13:27:35

LAMP-Apache和PHP的结合的相关文章

linux运维之LAMP(apache+mariadb+php)搭建

linux运维之LAMP(apache+mariadb+php)搭建         LAMP 是Linux Apache MySQL(mariadb) PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言,其中mariadb为mysql的一个分支. 搭建环境: 系统: CentOS6.6-x86_64          httpd: httpd-2.4.9          mariadb: mariadb-5.5.43    

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

bash-scripts源码安装lamp(apache、php及部分扩展、mysql)

安装包版本:httpd-2.2.29.tar.gzzlib-1.2.8.tar.gzapr-util-1.5.4.tar.gzapr-1.5.1.tar.gzlibpng-1.6.17.tar.gzjpegsrc.v9a.tar.gzlibgd-gd-2.1.1.tar.gzphp-5.6.7.tar.gzfreetype-2.5.5.tar.gzlibmcrypt-2.5.8.tar.gzlibxml2-2.9.2.tar.gzmysql-5.6.23.tar.gz ======安装包下载网站

CentOS6 编译安装LAMP(Apache,Mariadb,php)_2015092001

httpd与php结合的方式有三种: 1.module:将php编译成httpd的模块,当Apache服务器收到客户端的动态资源请求时,httpd服务自身便可以依靠php模块来处理动态资源. 2.cgi:此种方式是当Apache服务器,每次收到客户端发来的动态资源请求时,将调用php生成一个子进程来处理客户端所请求的动态资源,因此n个请求便会在服务器端启动2n个进程,是对服务器资源极大程度的浪费,因此,此种结合方式很少用. 3.fpm:此种方式是基于fastcgi协议,php作为一个服务监听在某

[转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境

FROM : http://www.cnblogs.com/eleganthqy/archive/2010/02/28/1675217.html 最近转向到了使用ubuntu做桌面,安装好系统以来一直都没配置lamp开发环境.由于很久以来没有自己编译安装过apache php mysql了有些手生,决定再实践一下.最近一次安装web环境是在centos下装nginx php + fastcgi.虽然以前在centos freebsd下都装过amp环境,但大多是依照网络上的阿哥的步骤一步步来,早在

CentOS 6.4 32位系统 LAMP(Apache+MySQL+PHP)安装步骤

先来解释一下,什么是 LAMP.正如标题所言,LAMP 实际上就是 Linux.Apache.MySQL.PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python.不用多说了,本文讲解的就是 Linux.Apache.MySQL.PHP 这四个东西,所以就这样解释了. 自己很早就在做网站,最初玩的是 ASP,后来主要研究 .Net,也用 .Net 搞过类似的开发.但是自己最主要还是想把网站做起来,于是乎就将主要精力花在了网站运营上了,当然建站就选用了市面上成熟的

LAMP(Apache+Nginx+Php)

一.LAMP应用平台概述: 1.概述:LAMP是目前最成熟的一种企业网站应用模式,可以提供动态web站点应用及开发环境,其构成linux.apache.mysql.php或python或perl等语言,优势:成本低.易于开发.方便易用.安全稳定:2.网站分类:静态:有纯html标签语言编写而成的页面,无论在什么环境,什么身份访问都不会发生变化:动态:由网页的编程语言编写,例:java.php..net.python语言,的动态页面,动态页面是由动态页面和html组成为一个网页页面,可以与数据库进

LAMP - Apache日志切割

网站会随着访问量的增大,而造成记录的日志变得越来越大,如果置之不理,总有一天会撑爆磁盘. 所以我们应该每天定时去切割日志,比如一个月之后,再去删除过时的日志,以保证日志文件不会无穷无尽的占用磁盘的资源. 配置:需进入apache的虚拟主机配置文件中,修改ErrorLog & CustomeLog 两行的字段,利用bin目录下的rotatelogs执行文件来进行切割 <VirtualHost *:80> DocumentRoot "/data/www" ServerN

CentOS 6.3 yum安装LAMP(Apache+MySQL+PHP)

一.      安装并配置MySQL 1.1 执行yum命令安装MySQL yum -y install mysql mysql-server 1.2 把添加MySQL进开机启动项,并立即启动MySQL chkconfig --levels 235 mysqld on /etc/init.d/mysqld start 1.3 设置MySQL root帐号密码 设置MySql的root用户密码.开通MySql远程管理 mysqladmin -u root password "新用户密码"

Linux下安装LAMP(Apache+PHP+MySql)

1.更新yum源: yum update -y 2.安装Apache+PHP+MySql yum install httpd mysql-devel mysql-server mysql-php php -yyum install php-ldap php-mysql php-pdo -y 3.安装禅道 rpm -ivh zentaopms-7.1.stable-1.noarch.rpm