php开发lamp环境搭建详解

时间:2021-07-22 12:53:22

首先声明笔者是用的VM虚拟机的centos7系统搭建的lamp环境,它和ubuntu搭建lamp环境有些不同,在下面我会大概介绍一些部分的区别。

(一)搭建lamp环境

(1)下载并测试apache

1.下载apache

 yum install httpd(注意:在centos中下载apache的不是yum install apache,而是httpd)

2. 检测是否安装成功(出现版本号之类的就是安装成功了 ):

httpd -v

3.启动apache服务:

/bin/systemctl start httpd.service  或者  service httpd start(centos7版本以下才支持该命令)

   重启apache服务:

/bin/systemctl restart httpd.service 或者 service httpd restart(centos7版本以下才支持该命令)

   终止apache服务:

/bin/systemctl stop httpd.service 或者 service httpd stop (centos7版本以下才支持该命令)

4.检测是否能正常访问:

在浏览器中输入虚拟主机的ip,出现什么'Testing 123'或者‘It works’之类的,就代表apache能正常访问了。

如果不能正常访问,那么有可能是apache配置文件没有设置好以及防火墙没有开发80端口,解决办法在后面会具体说明。

注意:ubuntu中下载apache的命令为  sudo apt-get install apache2)

(2)下载php并整合php和apache

1.下载php:

yum install php

2.检测php是否安装成功:

php -v

3.查看apache是否加载了php模块:

cat /etc/httpd/conf.modules.d/10-php.conf(etc目录存放的是系统默认配置文件,httpd里面就是apache的各种配置文件,conf.modules.d存放的是apache会加载的模块)

如果结果有:

LoadModule php5_module modules/libphp5.so这一行的话,则证明apache和php已经整合在一起(前面如果有'#',请删掉,那是注释该行的意思)

注意:ubuntu中安装apache的命令为 sudo apt-get install php5,查看是否加载php模块的命令为:cat /etc/apache2/mods-enables/php5.load)

(3)下载mysql

centos7中默认不支持Mysql,而是mariadb,具体原因百度一下就可以了解。但是我们还是可以在centos7上安装Mysql,只不过以来直接用 yum install mysql命令是找不到的。

这时候就需要到别的地方下一个来装。输入如下命令即可:

1.下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安装该包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.安装mysql

yum install mysql-server

4.启动mysql服务

/bin/systemctl start mysqld.service

5.检测mysql和php是否整合

cat /etc/php.d/mysql.ini

如果提示(No such directory)没有该目录,证明php默认没有下载mysql的扩展,输入如下命令进行下载mysql扩展:

yum install php-mysql

这个时候再输入上面的命令,如果看到extension=mysql.so这一行,证明php和mysql整合成功

6.登录mysql

mysql -u root -p

7.修改mysql密码(初始时没有密码的)

set password for root@localhost = password('123456');

8.退出mysql

exit;

注意:ubuntu中安装Mysql的命令:sudo apt-get install mysql-server,查看是否整合的命令:cat /etc/php5/conf.d/mysql.ini,下载mysql扩展:sudo apt-get install php5-mysql)

(二)

以上完成之后,lamp环境就搭建的差不多,接下来是一些注意事项和一些配置文件的说明。

(1)上面提到过apache让外网访问的问题,如果外网不能访问虚拟机,那输入主机ip当然看不到apache启动了的结果。以下给出解决方法:

1.先查看虚拟机的ip地址:

ip addr

2.先查看apache配置文件里面是否允许了让外网访问:

在/etc/httpd/conf/httpd.conf文件下,打开httpd.conf,如果看到里面有一行是Allow from 127.0.0.1,将其设置为Allow from all,意思是原来只允许主机访问,现在可以允许其他ip地址访问apache了。

3.防火墙没有开发80端口:

vi /etc/sysconfig/iptables修改防火墙文件

添加上-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 这一行

退出保存

重启防火墙:/bin/systemctl restart iptabels.service

之后再重启apache服务

问题应该就得以解决了

(2)在搭建lamp环境的过程中,有时候服务器可能会提示没有该命令之类的,那有可能是没有安装,直接用yum命令安装即可。碰到一下本该可以下载,但是yum源却找不到的,可以尝试更新一下yum源,用yum update命令即可。

(3)安装完的php只有比较基础的功能,一些重要的扩展库比如gd库扩展并没有安装,所以需要自己下载,yum install gd。

(3)下载Mysql这个地方需要严格按照下载的步骤来,不然很容易造成mysql服务启动不了,yum install mysql,只安装mysql,服务是启动不了的,mysql-server必须安装
,不然结果就是找不到mysql.sock,如果真的服务器提示mysql.sock的话,可以使用find / -name mysql.sock尝试找一下,找到了的话,有两种方法:

1.编辑/etc/my.cnf

[mysql]
[client]
socket = /tmp/mysql.sock(在这里写上你的mysql.sock的位置,然后保存退出,启动mysql服务试下)

2.创建软链接

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock(/tmp那个填你的实际mysql.sock位置,相当于是在var文件夹里面创建一个快捷方式)

(4)测试php、apache、mysql整合成功的代码:

<?php
$link=mysql_connect('localhsot','root','123456');
if($link)
{
echo 'yes';
}
else
{
echo 'no';
}
phpinfo();
?>
运行结果如果是yes并出现了php版本的详细信息,就代表lamp环境搭建完成了。

(5)说一下linux下的常用目录存的文件的含义:

/etc目录:存放系统默认配置文件,所以httpd.conf和php.ini以及my.cnf配置文件都在这里面

/var目录:系统相关文档目录,apache的默认运行目录www就在这里面