Maison > développement back-end > Problème PHP > Tutoriel sur la configuration de l'environnement Linux PHP

Tutoriel sur la configuration de l'environnement Linux PHP

藏色散人
Libérer: 2023-03-02 11:26:01
original
3276 Les gens l'ont consulté

Comment créer un environnement Linux php : obtenez d'abord le package d'installation approprié ; puis installez Apache et mysql ; puis modifiez le fichier de configuration "httpd.conf" et enfin définissez les variables d'environnement et démarrez automatiquement, compilez et installez PHP.

Tutoriel sur la configuration de l'environnement Linux PHP

1. Obtenez le package d'installation

  • Adresse de téléchargement PHP : http://cn.php.net/ distributions /php-7.2.6.tar.gz
  • Adresse de téléchargement Apache : http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar . gz
  • Adresse de téléchargement MySQL : https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

2. Installer Apache

1. Installation du package de dépendances

1) Installer le compilateur gcc, gcc-c++

yum install -y gcc gcc-c++
Copier après la connexion

2) Installer les dépendances Package expat-devel, zlib-devel, openssl-devel

yum install -y expat-devel zlib-devel openssl-devel
Copier après la connexion

2) Installez le package dépendant apr

Remarque : Si le package dépendant n'existe pas, rendez-vous sur le site Web pour trouver la dernière package et modifiez-le en conséquence Téléchargez simplement le numéro de version

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz
tar zxvf apr-1.6.2.tar.gzcd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install
Copier après la connexion

3) Installez le package de dépendances apr-util

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.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
Copier après la connexion

4) Installez le package de dépendances pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
tar zxvf pcre-8.41.tar.gzcd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install
Copier après la connexion

Remarque : Installer les packages apr et apr-util Copiez dans le répertoire srclib du package d'installation Apache

Nommez-les respectivement apr, apr-util, sans le numéro de version ultérieur

2. Processus d'installation

1) Décompressez le package d'installation d'Apache

tar zxvf httpd-2.4.33.tar.gz
Copier après la connexion

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

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

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 \--with-mysql=shared,mysqlnd                                                                                    
--enable-so \
--enable-ssl \
--enable-deflate \
--enable-rewrite \
--enable-headers \
--enable-expires \
--disable-cgid\
--disable-cgi
Copier après la connexion

 

    3. 修改配置文件httpd.conf

vim /usr/local/server/apache/conf/httpd.conf
Copier après la connexion

去掉ServerName前面的 #

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

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

1) 将httpd加入系统服务

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
Copier après la connexion

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

# chkconfig: 345 85 15# description: Activates/Deactivates Apache Web Server
Copier après la connexion

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

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

systemctl enable httpd
Copier après la connexion

4) 启动Apache

service httpd start
Copier après la connexion

 

三、安装MySQL

    1. 安装前准备

1) 解压安装包

tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/server/mysql
Copier après la connexion

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

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql .   #注意后面有个点
Copier après la connexion

 

    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 \
Copier après la connexion

注意 : 如果报错 , 则缺哪个库yum安装即可                                                                                                                             bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install libaio                                                                             

2) 配置mysql

vim my.cnf  # 创建配置文件
Copier après la connexion

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

[mysqld]skip-grant-tablesbasedir = /usr/local/server/mysqldatadir = /usr/local/server/mysql/dataport = 3306
Copier après la connexion

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

rm -rf /etc/my.cnfln -s /usr/local/server/mysql/my.cnf /etc/my.cnf
Copier après la connexion

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

1) 启动mysql

support-files/mysql.server start  # 启动MySQLbin/mysql -uroot -p  # 这里直接回车,无须输入密码
Copier après la connexion

2) 重置root用户密码

use mysql;
update user set authentication_string='' where user='root';
exit;
Copier après la connexion

3 )  删除/etc/my.cnf文件的 skip-grant-tables , 重启mysql服务

  support-files/mysql.server restart  #重启mysql
Copier après la connexion

4 )  用root用户进行登录

  mysql -u root -p  
  passwrod:直接回车
Copier après la connexion

5 )  使用ALTER修改root用户密码,初始化完毕 。退出,使用新密码登录

  ALTER user 'root'@'localhost' IDENTIFIED BY 'new_password';
Copier après la connexion

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

1) 设置环境变量

编辑profile文件

vim /etc/profile
Copier après la connexion

添加下列信息到profile尾部

export PATH=$PATH:/usr/local/server/mysql/bin
Copier après la connexion

使环境变量立即生效

source /etc/profile
Copier après la connexion

2) 设置开机自启

cp support-files/mysql.server /etc/init.d/mysqld  
systemctl enable mysqld
Copier après la connexion

 

    5. 防火墙设置

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

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

firewall-cmd --query-port=3306/tcp
Copier après la connexion

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

firewall-cmd --add-port=3306/tcp  # 临时开启3306端口  firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久开启3306端口
Copier après la connexion

3) 重启firewall

firewall-cmd --reload
Copier après la connexion

 

    6. 远程访问

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

create user root@'%' identified by 'your_password';                                                           
grant all privileges on *.* to root@'%';
Copier après la connexion

2) 使权限修改生效

FLUSH PRIVILEGES;
Copier après la connexion

四、安装PHP

    1. 安装步骤

1) 安装依赖包

yum -y install wget vim pcre pcre-devel openssl openssl-devel \
libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng \
libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib \
zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel \
curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel \
nss_ldap jemalloc-devel cmake boost-devel bison automake libevent \
libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt \
mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel \
libcurl libcurl-devel openjpeg-devel libcurl.x86_64 libcurl-devel.x86_64 \
libjpeg-turbo libjpeg-turbo-devel libpng freetype  libpng-devel \
freetype-devel icu libicu libicu-devel  openldap openldap-clients \
openldap-devel openldap-serverscp -frp /usr/lib64/libldap* /usr/lib/
Copier après la connexion

2) 解压PHP安装包

tar zxvf php-7.2.6.tar.gz
Copier après la connexion

3) 编译安装

cd php-7.2.6
./configure --prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-config-file-path=/usr/local/server/php \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-libmbfl \
--enable-ftp \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm \make && make install
Copier après la connexion

 

    2. 配置php.ini

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

cp php.ini-* /usr/local/server/php/
Copier après la connexion

2) 生成php.ini

cp php.ini-development /usr/local/server/php/php.inicp /usr/local/server/php/etc/php-fpm.conf.default /usr/local/server/php/etc/php-fpm.conf
Copier après la connexion

<br>

3 ) 修改php.ini配置文件

expose_php = Off
short_open_tag = ON
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-zts-20170718/"
Copier après la connexion

<br>

<br>
Copier après la connexion

    3. 修改httpd.conf

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

LoadModule php7_module modules/libphp7.so
Copier après la connexion

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

<IfModule mod_php7.c>
	AddType application/x-httpd-php .php</IfModule>
Copier après la connexion

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

<IfModule dir_module>
    DirectoryIndex index.html</IfModule>
Copier après la connexion

重启Apache

service httpd restart
Copier après la connexion

 

    4. 测试PHP是否成功安装

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

vim /usr/local/server/apache/htdocs/index.php
Copier après la connexion

在index.php中编写以下代码

<?php

   phpinfo();?>
Copier après la connexion

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

MYSQL8.0安装后 phpMyAdmin无法登陆解决

MYSQL8.0的密码验证方式从mysql_native_password改为了caching_sha2_password<br>

vim my.cnf

default_authentication_plugin=mysql_native_password
Copier après la connexion

进入mysql修改一下密码和加密插件

use mysql;  
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';    
FLUSH PRIVILEGES;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal