• 技术文章 >后端开发 >PHP问题

    linux下php开发环境搭建

    藏色散人藏色散人2020-11-06 17:41:58原创803

    linux下php开发环境的搭建方法:首先获取PHP和Apache以及MySQL安装包;然后进行编译安装并修改配置文件;接着设置环境变量和开机自启;最后测试PHP是否成功安装即可。

    推荐:《PHP视频教程

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

    一、获取安装包

    二、安装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.gz
    cd 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.gz
    cd 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.gz
    cd 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-tables
    basedir   = /usr/local/server/mysql
    datadir   = /usr/local/server/mysql/data
    socket    = /usr/local/server/mysql/data/mysql.sock
    log-error = /usr/local/server/mysql/log/error.log
    port      = 3306
    
    [mysql_safe]
    pid-file  = /var/run/mysql/mysqld.pid
    log-error = /usr/local/server/mysql/log/error.log
    
    [client]
    port   = 3306
    socket = /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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux php
    上一篇:php中的$符号的含义是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 如何在linux部署php项目• 如何检查linux是否安装php• 在linux系统下apache的默认安装路径在哪• linux系统下tr命令详解
    1/1

    PHP中文网