ubuntu 给apt的apache2编译php7.1

环境:Ubuntu18.04.1和Kylin

需求:给apt安装的apache2使用编译的php7.1(扩展)

php7.1发行源码下载地址:Unsupported Historical Releases

安装依赖包:

shell 复制代码
# 基础依赖包
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
# apache为包安装,所以需要开发的文件
apt install apache2-dev

编译php源码:

shell 复制代码
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
make
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包后仍然没有这个命令,应该是包自己的问题。

我的已构建包下载

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

相关推荐
代龙涛3 小时前
WordPress Query 查询机制详解(WP_Query)
开发语言·后端·php·wordpress
达达表哥9 小时前
VIC博客全新版本 底层优化 包含新主题新插件
php·腾讯云·开源软件
vipxieliang9 小时前
PHP 性能优化实战:一次线上内存泄漏与连接数打满的排查复盘
php
vipxieliang9 小时前
使用 PHP 构建命令行工具:从 $argv 到 Symfony Console 与 Cron 集成
php
vipxieliang10 小时前
ThinkPHP 8.0 路由完全重写:新写法与迁移适配指南
php·thinkphp
AlanAshley11 小时前
无 SIM 卡也能打 110?手机紧急呼叫能力的软硬件技术探究
开发语言·智能手机·php
Escalating_xu1 天前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
niucloud-admin1 天前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
一枕槐安4871 天前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
李纲明1 天前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy