PHP 7.2 Linux Debian/Ubuntu 源码编译安装 LNMP之PHP
Linux PHP 7.2.11源码编译安装
说明:
- 安装php版本为
7.2.11
- php解压后工作空间目录:
/data/workspace/php
- php安装目录:
/data/soft/php
1、下载并解压PHP源码
# 下载
wget http://cn2.php.net/distributions/php-7.2.11.tar.gz
# 解压
tar zxf php-7.2.11.tar.gz -C /data/workspace
mv php-7.2.12 php
cd php
2、安装所需依赖和工具
apt-get install libxml2-dev libssl-dev libcurl4-gnutls-dev libwebp-dev libjpeg-dev libpng-dev libmcrypt-dev libicu-dev
3、配置
可以通过./configure --help
查看所有配置项及配置项说明
./configure --prefix=/data/soft/php \
--exec-prefix=/data/soft/php \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-openssl \
--with-pcre-dir \
--with-pcre-regex \
--with-pcre-jit \
--with-zlib \
--enable-bcmath \
--enable-calendar \
--with-curl \
--enable-exif \
--enable-intl \
--enable-mbstring \
--enable-pcntl \
--with-pdo-mysql=/data/soft/mysql \
--with-mysqli=/data/soft/mysql/bin/mysql_config \
--with-mysql-sock=/data/soft/mysql/mysql.sock \
--enable-soap \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--with-gd \
--with-webp-dir \
--with-jpeg-dir \
--with-png-dir \
--with-libxml-dir
- 如果配置提示
Cannot find OpenSSL's libraries
,则表示无法找到libssl.so
。
可以通过命令搜索定位libssl.so
文件,并创建连接到/usr/lib
:
find / -name libssl.so
# x86_64
ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
# i386
ln -s /usr/lib/i386-linux-gnu/libssl.so /usr/lib
- 如果配置提示
configure: error: Please reinstall the libcurl distribution
,可以参考:PHP :: Bug #74125 :: PHP 7.1.2 compilation and libcurl error
ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl
4、编译并安装
make
make install
5、配置文件
PHP 7正常运行需要相关的配置,主要配置文件有:php.ini
、php-fpm.conf
、www.conf
,这些配置文件php没有直接提供,但是提供了默认参考项,我们只需要将其复制更改下名称即可。
# php.ini
cp php.ini-production /data/soft/php/lib/php.ini
# php-fpm.conf
cp /data/soft/php/etc/php-fpm.conf.default /data/soft/php/etc/php-fpm.conf
# www.conf
cp /data/soft/php/etc/php-fpm.d/www.conf.default /data/soft/php/etc/php-fpm.d/www.conf
配置:php.ini
# 隐藏头部的php及相应版本信息
# 默认设置在浏览器响应头会有X-Powered-By: PHP/x.x.x
expose_php = Off
配置:php-fpmvim /data/soft/php/etc/php-fpm.conf
;error_log = log/php-fpm.log
;include=/usr/local/php/etc/php-fpm.d/*.conf
如果有注释,就去掉前面的注释【;】
配置:www.confvim /data/soft/php/etc/php-fpm.d/www.conf
将配置文件中的 user 和 group 部分的 nobody 改成 www-data
6、启动php-fpm
/data/soft/php/sbin/php-fpm
这样我们就完成php的编译安装,并启动。接下来我们可以通过配置nginx
,然后添加PHP文件查看phpinfo()查看php信息。
<?php
phpinfo();
?>
参考文章: