-
php-7.2.26.tar.xz下载
资源介绍
php 7.2.26 linux安装包
解压源码
解压源码之前,请先下载解压工具:
yum install -y tar xz
然后我们先将 XZ 归档解压为 tar 归档:
xz -d php-7.2.26.tar.xz
执行完成后,我们输入 ls 命令,你会看到现在 php-7.2.26.tar.xz 文件已经消失,而多出一个 php-7.2.26.tar 归档。此时我们来解压这个 tar 归档:
tar -xvf php-7.2.26.tar
解压完成后,运行 ls 命令会看到,多出一个 php-7.2.9 的目录了,好了我们现在就得到了源码。
如果你解压步骤失败,可能是下载的文件不是 .tar.xz 后缀归档,也有可能是下载过程中数据丢包,不用担心。你重新下运行 rm -rf php-7.2.9* 命令,将你之前下载的删除,然后重新下载即可。
#编译 PHP
编译 PHP 之前我们需要安装 PHP 编译工具和依赖:
yum install -y gcc autoconf gcc-c++ \
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 \
libmcrypt libmcrypt-devel \
mhash mhash-devel \
systemd-devel openjpeg-devel
安装完编译工具和依赖后,我们需要为 FPM 分配一个运行用户和用户组(我们取名 php-fpm:php-fpm 并设置不予怒登录和不创建家目录):
groupadd php-fpm && useradd -s /sbin/nologin -g php-fpm -M php-fpm
现在,我们使用 cd php-7.2.9 进入源码目录,上面都是开始编译前的必要设置,但是我们还有一步没有完成,就是生成编译配置(如果你很想知道下面的参数有什么用,请访问这里查看参数详解):
./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-pear \
--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
等待完成,然后我们执行编译:
make
这个过程会非常的缓慢,主要是看机器,你的服务器配置比较好就很快,一般而言差不多半小时到两小时都是正常的。执行完成后,我们推荐执行一次 make test 命令,如果你觉得没必要浪费时间,请直接执行:
make install
执行完成后,你会看到 php-7.2.26 目录下有 php.ini-development 和 php.ini-production 两个文件,因为我们是教程,所以选择开发环境的配置文件:
cp php.ini-development /usr/local/php/etc/php.ini
复制完成后,我们进入 /usr/local/php/etc 目录:
cd /usr/local/php/etc
并执行 ls 命令,你会看到有一个 php-fpm.conf.default 文件,这个是 FPM 配置文件,目前是不会被加载的,我们执行:
cp php-fpm.conf.default php-fpm.conf
将其复制为可使用的配置文件,接着允许 yum install -y vim 下载一个编辑器,下载完成后我们执行:
vim php-fpm.conf
会进入编辑模式,如果你不会用 Linux 下的 Vim 软件,请自信使用搜索引擎学习,编辑内容如下:
错误日志:
error_log = /usr/local/php/var/log/php-fpm.log
PID 文件配置
pid = /usr/local/php/var/run/php-fpm.pid
然后保存并退出,我们再只 cd /usr/local/php/etc/php-fpm.d 进入 FPM 配置目录,这个目录下有一个 www.conf.default 文件,我们执行 cp www.conf.default www.conf 命令将其发布为可被加载的配置文件。
接下来,我们需要对 FPM 做一些系统级的配置,我们进入之前解压的 PHP 源码目录,如果你跟随教程执行下来,应该在 /root/php-7.2.26 目录,如果不是,自行进入你下载后解压的所在目录。进入该目录后,我们复制服务文件:
cp ./sapi/fpm/php-fpm.service /usr/lib/systemd/system/
复制成功后,我们来设置开机启动 FPM:
systemctl enable php-fpm
当然,我们现在直接执行 php -v 还无法找到 PHP 命令,所以,我们编辑将 /usr/local/php/bin/ 加入到环境变量:
vim /etc/profile
打开文件后我们在结尾写入:
export PATH=$PATH:/usr/local/php/bin/
写入后,并不会立刻生效,所以我们执行 source /etc/profile 执行完成后,我们运行 php -v 会输出 PHP 版本信息,差不多下面这样子:
PHP 7.2.9 (cli) (built: Sep 18 2018 12:16:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
- 上一篇: Linux常用的命令。。。。。
- 下一篇: ffmpeg-git-amd64-static.tar