ubuntu 给apt的apache2编译php7.1

环境:Ubuntu18.04.1和Kylin
需求:给apt安装的apache2使用编译的php7.1(扩展)
php7.1发行源码下载地址:Unsupported Historical Releases

安装依赖包:

# 基础依赖包
apt install pkg-config libxml2 libxml2-dev libsqlite3-dev 
# gd扩展需求
apt install libpng-dev
# freestyle扩展需求(gd库要用)(kylin下有异常)
apt install libfreestyle6-dev
# curl扩展需求
apt install curl libcurl4-openssl-dev
# openssl扩展需求
apt install libssl-dev
# apache为包安装,所以需要开发的文件
apt install apache2-dev

编译php源码:

wget https://www.php.net/distributions/php-7.1.33.tar.gz
tar -xzvf php-7.1.33.tar.gz
cd php源码目录
./configure --with-apxs2=/usr/bin/apxs --with-gd --with-freetype-dir --enable-mbstring --enable-mysqlnd --enable-simplexml --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-curl --with-openssl
make
# 安装时会自动安装php,apache2-mod-php到对应的位置,并且在apache配置内生成php7.load文件,但需创建php7.conf来配置使用php解析
make install

添加并修改apache2配置:
加载模块配置文件:/etc/apache2/mods-available/php7.load
模块配置文件:/etc/apache2/mods-available/php7.conf
安装后模块文件的位置:/usr/lib/apache2/modules/libphp7.so

同类型机器迁移

可将编译后的模块文件放到其他机器,直接迁移“libphp7.so”模块文件并做好配置即可,没有额外文件。(可能需要libapache2-mod-php等相关包,在kylin系统上正常安装apache2+php7.4后即可直接迁移“libphp7.so”)

相关问题:

问题1:找不到apxs
解决办法:apt install apache2-dev,查找find / -name "*apxs2*"
问题2:checking for cURL 7.15.5 or greater… configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
解决:apt install libcurl4-gnutls-dev
问题3:编译时报错:configure: error: freetype-config not found.
无法解决原因:麒麟下安装了libfreestyle6-dev包后仍然没有这个命令,应该是包自己的问题。
问题4:loongarch64下kylin下报错:configure: error: cannot guess build type;you must specify one
参考configure: error: cannot guess build type;you must specify one,使用系统config.guess和config.sub替换当前目录。
问题5:loongarch64下kylin下make时报错sljit_create_composer:
可能是不支持sljit库的原因,其源码似乎还不支持此架构。
参考此链接移除jit后即可编译:php7.1编译报错:sljit_create_compiler

我的已构建包下载

“银河麒麟桌面操作系统V10 (SP1)”下arm64架构的apache2的php7.1模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值