CentOS7.6源码编译安装PHP 7.3.8
Posted yunfan1024
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7.6源码编译安装PHP 7.3.8相关的知识,希望对你有一定的参考价值。
安装步骤
php官网下载链接:https://www.php.net/downloads.php
1. 使用wget命令下载源码安装包
wget https://www.php.net/distributions/php-7.3.8.tar.gz --no-check-certificate
【说明】如果报SSL Certification错误信息的话,就加上 --no-check-certificate选项,一般不需要添加。
2. 解压.tar.gz文件
tar -xzvf php-7.3.8.tar.gz
3. 进入php-7.3.8目录下,执行./configure,即配置和构建PHP
- 查看configure的用法以及配置选项: ./configure -h 或者 --help
- php常用配置及其说明
--prefix=/usr/local/php7 # 配置安装目录
--with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路径
--enable-sockets # 开启 socket
--enable-fpm # 启用 fpm 扩展
--enable-cli # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)
--enable-mbstring # 启用 mbstring 库
--enable-pcntl # 启用 pcntl (仅 CLI / CGI)
--enable-soap # 启用 soap
--enable-opcache # 开启 opcache 缓存
--disable-fileinfo # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)
--disable-rpath #禁用在搜索路径中传递其他运行库。
--with-mysqli # 启用 mysqli 扩展
--with-pdo-mysql # 启用 pdo 扩展
--with-iconv-dir # 启用 XMLRPC-EPI 字符编码转换 扩展
--with-openssl # 启用 openssl 扩展 (需要 openssl openssl-devel)
--with-fpm-user=www #设定 fpm 所属的用户
--with-fpm-group=www #设定 fpm 所属的组别
--with-curl # 启用 curl 扩展
--with-mhash # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库
# GD
--with-gd # 启用 GD 图片操作 扩展
--with-jpeg-dir # 开启对 jpeg 图片的支持 (需要 libjpeg)
--with-png-dir # 开启对 png 图片支持 (需要 libpng)
--with-freetype-dir # 开启 freetype
# 压缩
--enable-zip # 启用 zip
--with-zlib # 启用对 zlib 支持
# xml
--enable-simplexml # 启用对 simplexml 支持
--with-libxml-dir # 启用对 libxml2 支持
#一些不常用的配置
--enable-debug # 开启 debug 模式
我执行configure的命令如下:
./configure --prefix=/usr/local/php7 \\
--with-config-file-path=/usr/local/php7 \\
--enable-sockets \\
--enable-fpm \\
--enable-cli \\
--enable-mbstring \\
--enable-pcntl \\
--enable-soap \\
--enable-opcache \\
--disable-fileinfo \\
--disable-rpath \\
--with-mysqli
--with-pdo-mysql \\
--with-iconv-dir \\
--with-fpm-user=www \\
--with-fpm-group=www \\
--with-curl=/usr/local/curl \\
--with-mhash \\
--with-gd=no \\
--with-jpeg-dir \\
--with-png-dir \\
--with-freetype-dir \\
--enable-zip \\
--with-zlib \\
--enable-simplexml \\
--with-libxml-dir \\
--with-openssl=/usr/local/openssl
在执行过程中,可能会有报错。我在执行过程中,遇到了curl和OpenSSL库的安装路径没有找到,因为不是安装在/etc/bin和/etc/lib路径下,所以需要手动设置这两个库的安装路径:
--with-curl=/usr/local/curl
--with-openssl=/usr/local/openssl
我关闭了GD图片操作扩展,即:--with-gd=no,如果是:--with-gd ,则表示开启。
4. 编译和安装
make && make install
5. 配置PHP环境变量
(1)vim /etc/profile //需要root权限
(2)在profile文件末尾添加如下内容:
export PATH=$PATH:/usr/local/php7/bin #这一步可以让我们全局使用php命令
(3) source /etc/profile #让修改后的profile生效
(4) php -i //查看配置信息
如果第4步的执行成功打印了PHP information的话,表示PHP已经安装成功了。
## 查看php的用法帮助
$ php -h
## 查看php的版本信息
$ php -v
6. 配置php.ini文件
$ php -i|grep php.ini
Configuration File (php.ini) Path => /usr/local/php7
Loaded Configuration File => /usr/local/php7/php.ini
配置文件在安装包目录下: php-7.3.8/
php.ini-development //开发模式版本
php.ini-production //生产模式版本
这里,我们选择生产模式版本复制到指定路径下
$ cp php.ini-production /usr/local/php7/php.ini
<注意> php.ini文件所在的目录一定要与php -i里面查出的位置保持一致,不然修改php.ini文件是不会生效的。
7. 安装composer
> wget https://getcomposer.org/composer.phar
> cp composer.phar /usr/bin/composer
> cd /usr/bin; chmod u+x composer
> composer -v
如果打印出composer的版本信息,即表示composer安装成功了。
遇到的问题
【问题】error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
1. 下载证书。https://curl.haxx.se/ca/cacert.pem,存放路径: /home/lbs/cert/cacert.pem(这个路径自定义)
2. 修改php.ini配置文件
> cd /usr/local/php7/;ls
> vim php.ini
修改openssl.cafile= /home/lbs/cert/cacert.pem
【参考】
centos7 源码编译安装 php https://www.cnblogs.com/l5gw/p/10992958.html
编译php7.1.4出现 undefined reference to isfinite https://blog.csdn.net/letshi/article/details/71079677
Linux环境下composer的安装 https://blog.csdn.net/lifei15731208550/article/details/91039823
以上是关于CentOS7.6源码编译安装PHP 7.3.8的主要内容,如果未能解决你的问题,请参考以下文章