目录
编译安装 php 7.2,openssl 扩展 和 swoole 扩展
一、下载
二、编译安装
三、测试安装结果
四、优化运行
五、安装部分扩展
注: 本次安装 操作系统为:cent os 8.0 64位 初始化操作系统,
(1)下载源码包:
1、官方下载地址:https://www.php.net/downloads.php
2、百度网盘地址:https://pan.baidu.com/s/1yS7Oo_haxOoNOSLJeOMsRg
① 提取码:btx2
② 网盘内提供 7.2/7.3/7.4 三个版本源码包
③ 本次安装使用的PHP包为 php-7.2.28.tar.bz2
注:1、在进行configure 时,出现 错误提示,提示信息如下
// 缺少 libxml2 依赖
configure: error: libxml2 not found. Please check your libxml2 installation.
解决方法:安装 libxml2 依赖:
1. 下载安装包,官方下载地址:http://xmlsoft.org/
2. 解压 -> 编译 -> 安装
2、 php.ini 问题,由于是 编译安装,在php 安装目录中找不到php.ini 文件
1. 查看 php.ini 文件所在位置,运行命令:php -i | grep php.ini
2. 在安装包内找到 php.ini-development 文件,并将文件复制到 php.ini 所在目录内,
运行命令:cp /root/php-7.2.28/php.ini-development php.ini
3. 修改pho.ini内容,指定 php 扩展目录,添加如下内容即可
extension_dir='/usr/local/php/etc/extension'
4. 后续新增扩展,只需将配置添加至文件末尾即可
1、 根据自己的安装目录,运行 php,示例如下
/usr/local/php/bin/php -v
正常显示当前的php 版本,即代表安装成功
简单测试运行,新建一个 test.php 文件,命令如下:
vim test.php
输入如下内容:
完成上一步操作后,运行该文件,命令为:/usr/local/php/bin/php test.php ,正常显示 时间戳 即可
4. 修改完成后,保存退出即可。
5. 使修改内容即使生效,命令为: source ~/.bash_profile
6. 简单进行测试,php -v ,若正常显示php 版本,表示修改成功
1、简化 phpize 命令,配置环境变量
1、安装 openssl 扩展
进入已解压的php 安装包内,找到对应的openssl 目录,
使用 phpize 对 php 进行扩展,命令:phpize
预检测:./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
编译:make
测试安装:make test
安装:make install
安装完成后 ,会生成一个 so 文件,将该文件复制到 php 扩展目录内
修改 php.ini 文件,将扩展添加至配置文件中,添加代码为:extension=openssl.so
错误预提醒:
① 在运行 phpize 时,可能会出现如下错误
Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
解决方法:运行命令:mv config0.m4 config.m4 即可
② 在 预检测 时,可能会出现如下错误
configure: error: Cannot find OpenSSL's
解决步骤:
(1)安装 openssl-devel,命令为 :yum install openssl openssl-devel
(2)修改configure 文件,修改内容如下:
修改完成后重新 configure 即可
2、安装 swool 扩展
cd swoole -- 进入扩展目录
phpize -- 使用 phpize 对 php 进行扩展
./configure --with-php-config=/usr/local/php/bin/php-config -- 安装环境检测
make -- 编译
make test -- 预安装
make install -- 安装
3. 添加扩展至 php 中
在上一步编译安装完成后 , 会生成 一个 so 文件 ,将该文件复制到扩展目录内,并修改php.ini 文件 添加扩展 extension=swoole.so 即可
4. 查看是否安装成功: php -m 查看已安装的扩展是否存在列表内即可