Home >Operation and Maintenance >CentOS >Centos7 installation php detailed explanation

Centos7 installation php detailed explanation

藏色散人
藏色散人Original
2021-06-17 09:42:155607browse

How to install php in centos7: 1. Install the wget command; 2. Download the php source code package in the "/usr/local/src" directory; 3. Install the dependency packages needed to compile php.

Centos7 installation php detailed explanation

The operating environment of this article: centos7 system, PHP7.2 version, DELL G3 computer

centos7 installation php detailed explanation

Centos7 Compile and install PHP7.2

1. Install the wget command

yum install wget

2. Download the php source code package in the /usr/local/src directory

wget http://cn2.php.net/distributions/php-7.2.4.tar.gz

Unzip the source package

tar zxvf php-7.2.1.tar.gz

3. Install the dependency packages needed to compile php:

yum install gcc autoconf gcc-c++
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install systemd-devel
yum install openjpeg-devel

Add php-fpm user

Create group

groupadd php-fpm

Create a user, do not allow login and do not create a home directory

useradd -s /sbin/nologin -g php-fpm -M php-fpm

Compilation parameters:

开发环境:
    --enable-phpdbg\
    --enable-dtrace\
生产环境:
    --disable-phpdbg\
    --disable-dtrace\
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-xmlreader \
--enable-xmlwriter \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--with-gd \
--with-pdo-sqlite \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock \
--enable-mysqlnd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-openssl \
--enable-ftp \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-systemd \
--disable-fileinfo

Execute compilation:

make && make install
php-ini:

Source code There is a configuration file in the package:

    php.ini-development     测试开发环境
    php.ini-production         生产环境

Copy a copy to the specified directory (choose according to your own situation, you can compare the differences between the two files):

    cp php.ini-production /usr/local/php/etc/php.ini

php-fpm Copy a new php-fpm configuration file:

    cd /usr/local/php/etc
    cp php-fpm.conf.default php-fpm.conf
    vim php-fpm.conf

Configuration error log:

        error_log = /usr/local/php/var/php-fpm.log

Configuration pid file:

        pid = /usr/local/php/var/run/php-fpm.pid

Save and exit

    cd /usr/local/php/etc/php-fpm.d
    cp www.conf.default  www.conf

Management php-fpm configuration:

    cd /usr/local/src/php-7.2.4

cp ./sapi/fpm/php-fpm.service Go to /usr/lib/systemd/system/

Configure boot to start php-fpm:

       systemctl enable php-fpm

Start php-fpm:

        systemctl start php-fpm

View status:

        systemctl status php-fpm

Add environment variables:

        vim  /etc/profile

Append at the end:

        export PATH=$PATH:'/usr/local/php/bin/'

Save quit.

 source /etc/profile

Test:

    php -v

Seeing this means it has been successful.

Centos7 installation php detailed explanation

If you need to distinguish between web and cli environments, you can copy /usr/local/php/etc/php.ini and rename it to php-cli.ini

cp /usr/local/php/etc/php.ini /usr/local/php/etc/php-cli.ini

Need to adjust the configuration, just Just make adjustments in their respective configuration files.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of Centos7 installation php detailed explanation. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn