lovetgr 发表于 3 天前

【待反馈】php7.4版本在rocky10 宝塔安装不起,手动安装可以

PHP 7.4 在 AlmaLinux 10.1 系统上编译时,与系统中高版本的 libxml2 库存在兼容性问题,具体表现为函数参数类型不匹配和废弃函数调用。下面我会给你提供完整的解决方案。
问题分析
[*]核心错误:xmlSetStructuredErrorFunc 函数期望接收 const struct _xmlError * 类型的参数,但 PHP 7.4 源码中传递的是非 const 类型,导致类型不兼容。
[*]环境原因:AlmaLinux 10.1 自带的 libxml2 版本较高(新增了 const 修饰),而 PHP 7.4 是较老的版本,源码未适配该变化。
[*]次要警告:xmlRelaxNGCleanupTypes 函数已被废弃,也需要适配。



从 libxml2 2.9.x 系列(包括 2.9.12)开始,xmlSetStructuredErrorFunc 等函数的参数已新增 const 修饰(如 const struct _xmlError *),而 PHP 7.4 源码中对应的函数参数未添加 const,导致类型不兼容 —— 这正是你之前编译失败的核心原因。2.9.12 作为 2.9.x 系列的后续版本,延续了该接口设计,并未回滚或兼容旧版 PHP 的写法。
无额外收益:libxml2 2.9.12 的更新主要集中在安全补丁和细节优化,并未针对旧版 PHP 做兼容性适配,升级后无法解决编译问题,反而可能因版本差异引入新的依赖冲突。

要在 AlmaLinux 10 上安装 PHP 7.4,请按照以下步骤启用 Remi 仓库,安装 PHP 核心包,并添加常用扩展。步骤1:先更新所有系统包:sudo dnf update -y

https://api.devtutorial.io/uploads/2025-12-21/694774d361b6a.png步骤2:安装Remi仓库包:sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm -y

https://api.devtutorial.io/uploads/2025-12-21/694774d375761.png步骤3:列出可用的PHP模块流:sudo dnf module list php

https://api.devtutorial.io/uploads/2025-12-21/694774d3b2c65.png步骤4:重置默认PHP模块并启用PHP 7.4:sudo dnf module reset php -ysudo dnf module enable php:remi-7.4 -y

https://api.devtutorial.io/uploads/2025-12-21/6947752be2cd9.png步骤5:安装PHP 7.4核心组件:sudo dnf install -y php74 php74-php-fpm php74-php-cli

https://api.devtutorial.io/uploads/2025-12-21/694775786b049.png步骤6:安装常用的PHP扩展:sudo dnf install -y php74-php-{mysqlnd,curl,gd,mcrypt,json,pear,common,xml,zip,devel,xsl,soap,bcmath,mbstring,gettext,imagick}

https://api.devtutorial.io/uploads/2025-12-21/694775a496ec6.png
[*]mysqlnd – PHP原生MySQL驱动程序
[*]curl – 启用 HTTP 和 API 请求
[*]GD——图像处理与处理
[*]mcrypt – 加密功能(遗留支持)
[*]json – JSON data handling
[*]pear – PHP 扩展与应用仓库
[*]common – 核心PHP文件和依赖
[*]xml——XML 解析与处理
[*]zip – ZIP 归档管理
[*]Devel – PHP 开发头部
[*]xsl – XSLT 变换
[*]soap – SOAP 协议支持
[*]bcmath – 任意精确数学
[*]mbstring – 多字节字符串处理
[*]gettext – 本地化与翻译
[*]imagick – 使用ImageMagick的高级图像处理
步骤7:检查已安装的PHP版本:php74 -v

https://api.devtutorial.io/uploads/2025-12-21/694775b9a3439.png恭喜你!您已成功在 AlmaLinux 10 上安装了 PHP 7.4 及必要的扩展,您的系统现在已准备好进行 PHP 应用开发或托管。

lovetgr 发表于 3 天前

rocky 8 宝塔安装mysql 8.045变成8.0.24 gx也安装不起

大炮运维V587 发表于 3 小时前

您好,您提供的系统暂时未做兼容性测试,可以尝试使用Debian12 或者ubuntu24
Rocky系统安装MySQL8.X失败的话,可以尝试极速安装,如果安装失败请留言
页: [1]
查看完整版本: 【待反馈】php7.4版本在rocky10 宝塔安装不起,手动安装可以