php / php/php-src

Build regression with PHP 8.5

未关闭
#20,920 6 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@bukka 已经在做这个了。

开始于 2026年1月13日。

Bug Extension: openssl Status: Needs Triage
主要语言
C
星标
40.4k
派生
8.1k
平均合并
2 天 13 小时
30 天内合并 PR
96

描述

Description

I maintain a source-based Linux distribution, and strive to use the latest stable release of everything as much as possible. I have LibreSSL 4.2.1 on my build server (as well as, in cast it matters, MariaDB 12.1.2, libgd 2.3.3, libpng 1.6.53, libjpeg 9f, libzip 1.11.4, oniguruma 6.9.10, and ICU 78.1).

I configure PHP with:

./configure --prefix=/opt/php --sysconfdir=/etc/php --with-config-file-scan-dir=/etc/php.d --enable-fpm --with-mysqli --with-pdo-mysql=/opt/mariadb --with-layout=GNU --enable-libgcc --with-openssl --with-external-pcre --with-zlib --with-bz2 --with-gmp --with-gettext --with-readline --with-xsl --with-pear --enable-mbstring --enable-exif --with-curl --enable-gd --enable-intl --with-zip

With PHP 8.4.16, the build runs to completion and works fine.
With PHP 8.5.1, the build terminates when compiling the openssl extension, specifically with:

------cut here------
/bin/sh /home/lbl/php-8.5.1/libtool --silent --preserve-dup-deps --tag=CC --mode=compile cc -Iext/openssl/ -I/home/lbl/php-8.5.1/ext/openssl/ -I/home/lbl/php-8.5.1/main -I/home/lbl/php-8.5.1 -I/home/lbl/php-8.5.1/ext/date/lib -I/usr/incl
ude/libxml2 -I/usr/include/libpng16 -I/home/lbl/php-8.5.1/ext/lexbor -I/home/lbl/php-8.5.1/ext/mbstring/libmbfl -I/home/lbl/php-8.5.1/ext/mbstring/libmbfl/mbfl -I/opt/mariadb/include/mysql -I/opt/mariadb/include/mysql/mysql -I/home/lbl/p
hp-8.5.1/ext/uri/uriparser/include -I/home/lbl/php-8.5.1/TSRM -I/home/lbl/php-8.5.1/Zend -D_GNU_SOURCE -fno-common -Wstrict-prototypes -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-paramete
r -Wno-sign-compare -g -O2 -ffp-contract=off -fvisibility=hidden -DNDEBUG -Wimplicit-fallthrough=1 -DZEND_SIGNALS -c /home/lbl/php-8.5.1/ext/openssl/openssl.c -o ext/openssl/openssl.lo -MMD -MF ext/openssl/openssl.dep -MT ext/openssl/openssl.lo
In file included from /home/lbl/php-8.5.1/Zend/zend_execute.h:28,
from /home/lbl/php-8.5.1/Zend/zend_API.h:29,
from /home/lbl/php-8.5.1/main/php.h:35,
from /home/lbl/php-8.5.1/ext/openssl/openssl.c:27:
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h: In function 'register_openssl_symbols':
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h:592:57: error: 'PKCS7_NO_DUAL_CONTENT' undeclared (first use in this function); did you mean 'PKCS7_R_NO_CONTENT'?
592 | REGISTER_LONG_CONSTANT("PKCS7_NO_DUAL_CONTENT", PKCS7_NO_DUAL_CONTENT, CONST_PERSISTENT);
| ^~~~~~~~~~~~~~~~~~~~~
/home/lbl/php-8.5.1/Zend/zend_constants.h:64:105: note: in definition of macro 'REGISTER_LONG_CONSTANT'
64 | #define REGISTER_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name), sizeof(name)-1, (lval), (flags), module_number)
| ^~~~
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h:592:57: note: each undeclared identifier is reported only once for each function it appears in
------cut here------

If there's any additional information I can provide, or tests I can perform that would be helpful, I would be happy to do so!

PHP Version
PHP 8.5.1, from source archive.
Operating System

Linux 6.18.2 SMP PREEMPT_DYNAMIC Thu Jan 8 01:48:41 -00 2026 x86_64 GNU/Linux

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。