首页 > 后端开发 > PHP问题 > linux下php环境搭建教程

linux下php环境搭建教程

藏色散人
发布: 2023-03-03 15:40:01
原创
3498 人浏览过

linux下php环境搭建方法:首先获取PHP、Apache以及MySQL安装包;然后安装Apache,并修改配置文件httpd.conf;接着安装MySQL,并做基本配置;最后安装PHP,并配置php.ini即可。

linux下php环境搭建教程

推荐:《PHP视频教程

LAMP是当下非常热门的Web开发环境。很多开发者在搭建LAMP的过程中会遇到各种各样的问题,想到这些头都快爆炸了,今天特意抽出时间将PHP开发环境的搭建过程记录下来,以便供大家做个参考。如果大家发现什么问题,还希望大家指正。

一、获取安装包

  • PHP下载地址:http://cn.php.net/distributions/php-7.1.10.tar.gz
  • Apache下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.28.tar.gz
  • MySQL下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

二、安装Apache

    1. 依赖包安装

1) 安装编译器gcc、gcc-c++

yum install -y gcc gcc-c++
登录后复制

2) 安装依赖包expat-devel、zlib-devel、openssl-devel

yum install -y expat-devel zlib-devel openssl-devel
登录后复制

2) 安装依赖包apr

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.2.tar.gz
tar zxvf apr-1.6.2.tar.gzcd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install
登录后复制

3) 安装依赖包apr-util

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
tar zxvf apr-util-1.6.0.tar.gzcd apr-util-1.6.0
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
登录后复制

4) 安装依赖包pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar zxvf pcre-8.41.tar.gzcd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install
登录后复制

注意: 将apr、apr-util安装包拷贝到Apache安装包的srclib目录中

           名称分别命名为apr、apr-util,不要后面的版本号

    2. 安装过程

1) 解压Apache安装包

tar zxvf httpd-2.4.28.tar.gz
登录后复制

2) 编译、安装

cd httpd-2.4.28
./configure --prefix=/usr/local/server/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-so \
--enable-ssl \
--enable-deflate \
--enable-rewrite \
--enable-headers \
--enable-expires \
--disable-cgid\
--disable-cgi
make && make install
登录后复制

 

    3. 修改配置文件httpd.conf

vim /usr/local/server/apache/conf/httpd.conf
登录后复制

去掉ServerName前面的 #

并将ServerName后面的网址改为localhost:80

    4. 将httpd加入系统服务并设置开机自启

1) 将httpd加入系统服务

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
登录后复制

2) 修改/etc/init.d/httpd,在第3行加入以下内容

# chkconfig: 345 85 15# description: Activates/Deactivates Apache Web Server
登录后复制

注意: 代码中的 # 不可以去掉

3) 设置系统服务开机自启

systemctl enable httpd
登录后复制

4) 启动Apache

service httpd start
登录后复制

 

三、安装MySQL

    1. 安装前准备

1) 解压安装包

tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/server/mysql
登录后复制

2) 创建用户和用户组并分配相应的权限

groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin
登录后复制

3)安装依赖

yum -y install numactl.x86_64
登录后复制

 

    2. mysql的初始化并做基本配置

1) 初始化mysql

cd /usr/local/server/mysql
bin/mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/server/mysql \
--datadir=/usr/local/server/mysql/data \
登录后复制

2) 配置mysql

vim my.cnf  # 创建配置文件
登录后复制

本示例仅保证mysql可以正常运行,更多配置请参考官方文档说明

[mysqld]
skip-grant-tablesbasedir   = /usr/local/server/mysqldatadir   = /usr/local/server/mysql/datasocket    = /usr/local/server/mysql/data/mysql.socklog-error = /usr/local/server/mysql/log/error.logport      = 3306[mysql_safe]pid-file  = /var/run/mysql/mysqld.pidlog-error = /usr/local/server/mysql/log/error.log[client]port   = 3306socket = /usr/local/server/mysql/data/mysql.sock
登录后复制

将配置文件软链接到 /etc/ 目录

ln -s /usr/local/server/mysql/my.cnf /etc/my.cnf
登录后复制

注意: 如果建立软链接时提示文件存在可删除/etc/my.cnf后再建立软链接

3)创建数据库存储信息所需目录和文件

mkdir /usr/local/server/mysql/data
mkdir /usr/local/server/mysql/log
mkdir /var/run/mysql
touch /usr/local/server/mysql/log/error.log
登录后复制

4)设置目录所有者

chown -R mysql:mysql /usr/local/server/mysql/
chown -R mysql:mysql /var/run/mysql/
登录后复制

 

3. 设置环境变量和开机自启

1) 设置环境变量

编辑profile文件

vim /etc/profile
登录后复制

添加下列信息到profile尾部

export PATH=$PATH:/usr/local/server/mysql/bin
登录后复制

使环境变量立即生效

source /etc/profile
登录后复制

2) 设置开机自启

cp support-files/mysql.server /etc/init.d/mysqld  
chkconfig --add mysqld
chkconfig mysqld on
登录后复制

 

 4. 防火墙设置

CentOS默认开启了 firewall 防火墙,下面我们使用 firewall 开启3306l端口

1) 开启之前我们先查询下3306端口是否开启

firewall-cmd --query-port=3306/tcp
登录后复制

2)如果没有开启则开启 firewall 防火墙

systemctl start firewalld.service
登录后复制

3) 我们可以选择临时开启或者永久开启3306端口

firewall-cmd --add-port=3306/tcp  # 临时开启3306端口  
firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久开启3306端口
登录后复制

4) 重启firewall

firewall-cmd --reload
登录后复制

5. 启动mysql并设置root用户密码

1) 启动mysql

/usr/local/server/mysql/support-files/mysql.server start  # 启动MySQL
/usr/local/server/mysql/bin/mysql -uroot -p  # 这里直接回车,无须输入密码
登录后复制

2) 设置root用户密码

use mysql;update user set authentication_string=password('root') where user='root';
exit;
登录后复制

注意1: 修改密码成功后注销配置文件中的skip-grant-tables

           重启mysql后使用root用户重新登陆,然后执行以下代码

set password=password('root');
登录后复制

注意2: 第二次执行重置密码是系统要求,否则不可以操作数据库

6. 远程访问

1) 给予任何主机访问mysql的权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
登录后复制

2) 使权限修改生效

FLUSH PRIVILEGES;
登录后复制

 

四、安装PHP

    1. 安装步骤

1) 安装依赖包libxml-devel

yum -y install libxml2-devel
登录后复制

2) 解压PHP安装包

tar zxvf php-7.1.10.tar.gz
登录后复制

3) 编译安装

cd php-7.1.10
./configure --prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-config-file-path=/usr/local/server/php \
--with-pdo-mysql
make && make install
登录后复制

 

    2. 配置php.ini

1) 将配置文件拷贝到PHP安装目录

cp php.ini-* /usr/local/server/php/
登录后复制

2) 生成php.ini

cp php.ini-development /usr/local/server/php/php.ini
登录后复制

 

    3. 修改httpd.conf

载入PHP模块,如httpd.conf中有下列代码则直接去掉前面#即可,没有则加入

LoadModule php7_module modules/libphp7.so
登录后复制

在底部加入以下代码使得Apache可以解析php文件

<IfModule mod_php7.c>	AddType application/x-httpd-php .php</IfModule>
登录后复制

找到如下代码,在index.html后面加入index.php

<IfModule dir_module>    DirectoryIndex index.html</IfModule>
登录后复制

重启Apache

service httpd restart
登录后复制

 

    4. 测试PHP是否成功安装

创建/usr/local/server/apache/htdocs/index.php

vim /usr/local/server/apache/htdocs/index.php
登录后复制

在index.php中编写以下代码

<?php

   phpinfo();?>
登录后复制

如果出现以下页面则安装成功

以上是linux下php环境搭建教程的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板