两个问题:

两个问题:

我需要升级到 PHP7.4.3(从7.4.14),经过许多、许多小时,我不知何故没有取得任何进展。 *需要维基百科圆立方体Postfix管理员

两个问题:

  1. 我是否从源代码编译得到7.4.3,或者有更简单的方法吗?
  2. 如果以上问题的答案是肯定的,那么我该如何修复以下错误?

错误

openssl并且imap明显给我带来了麻烦(opcache直到我禁用它后情况才变得更糟)

=====================================================================
TIME END 2021-01-19 04:58:21

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   18
Exts tested     :   55
---------------------------------------------------------------------

Number of tests : 15674             12815
Tests skipped   : 2859 ( 18.2%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   17 (  0.1%) (  0.1%)
Expected fail   :   35 (  0.2%) (  0.3%)
Tests passed    : 12763 ( 81.4%) ( 99.6%)
---------------------------------------------------------------------
Time taken      : 1099 seconds
=====================================================================

=====================================================================
EXPECTED FAILED TEST SUMMARY
---------------------------------------------------------------------
Test open_basedir configuration [tests/security/open_basedir_linkinfo.phpt]  XFAIL REASON: BUG: open_basedir cannot delete symlink to prohibited file. See also
bugs 48111 and 52176.
Inconsistencies when accessing protected members [Zend/tests/access_modifiers_008.phpt]  XFAIL REASON: Discussion: http://marc.info/?l=php-internals&m=120221184420957&w=2
Inconsistencies when accessing protected members - 2 [Zend/tests/access_modifiers_009.phpt]  XFAIL REASON: Discussion: http://marc.info/?l=php-internals&m=120221184420957&w=2
Bug #48770 (call_user_func_array() fails to call parent from inheriting class) [Zend/tests/bug48770.phpt]  XFAIL REASON: See Bug #48770
Bug #48770 (call_user_func_array() fails to call parent from inheriting class) [Zend/tests/bug48770_2.phpt]  XFAIL REASON: See Bug #48770
Bug #48770 (call_user_func_array() fails to call parent from inheriting class) [Zend/tests/bug48770_3.phpt]  XFAIL REASON: See Bug #48770
Initial value of static var in method depends on the include time of the class definition [Zend/tests/method_static_var.phpt]  XFAIL REASON: Maybe not a bug
DateTime::add() -- fall type2 type3 [ext/date/tests/DateTime_add-fall-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::add() -- fall type3 type2 [ext/date/tests/DateTime_add-fall-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::add() -- fall type3 type3 [ext/date/tests/DateTime_add-fall-type3-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::add() -- spring type2 type3 [ext/date/tests/DateTime_add-spring-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::add() -- spring type3 type2 [ext/date/tests/DateTime_add-spring-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::add() -- spring type3 type3 [ext/date/tests/DateTime_add-spring-type3-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- fall type2 type3 [ext/date/tests/DateTime_diff-fall-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- fall type3 type2 [ext/date/tests/DateTime_diff-fall-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- fall type3 type3 [ext/date/tests/DateTime_diff-fall-type3-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- spring type2 type3 [ext/date/tests/DateTime_diff-spring-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- spring type3 type2 [ext/date/tests/DateTime_diff-spring-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::diff() -- spring type3 type3 [ext/date/tests/DateTime_diff-spring-type3-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- fall type2 type3 [ext/date/tests/DateTime_sub-fall-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- fall type3 type2 [ext/date/tests/DateTime_sub-fall-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- fall type3 type3 [ext/date/tests/DateTime_sub-fall-type3-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- spring type2 type3 [ext/date/tests/DateTime_sub-spring-type2-type3.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- spring type3 type2 [ext/date/tests/DateTime_sub-spring-type3-type2.phpt]  XFAIL REASON: Various bugs exist
DateTime::sub() -- spring type3 type3 [ext/date/tests/DateTime_sub-spring-type3-type3.phpt]  XFAIL REASON: Various bugs exist
Bug #52480 (Incorrect difference using DateInterval) [ext/date/tests/bug52480.phpt]  XFAIL REASON: See https://bugs.php.net/bug.php?id=52480
RFC: DateTime and Daylight Saving Time Transitions (zone type 3, bd2) [ext/date/tests/rfc-datetime_and_daylight_saving_time-type3-bd2.phpt]  XFAIL REASON: Still not quite right
RFC: DateTime and Daylight Saving Time Transitions (zone type 3, fs) [ext/date/tests/rfc-datetime_and_daylight_saving_time-type3-fs.phpt]  XFAIL REASON: Still not quite right
Bug #42718 (unsafe_raw filter not applied when configured as default filter) [ext/filter/tests/bug42718.phpt]  XFAIL REASON: FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
Bug #67296 (filter_input doesn't validate variables) [ext/filter/tests/bug49184.phpt]  XFAIL REASON: See Bug #49184
Bug #67167: filter_var(null,FILTER_VALIDATE_BOOLEAN,FILTER_NULL_ON_FAILURE) returns null [ext/filter/tests/bug67167.02.phpt]  XFAIL REASON: Requires php_zval_filter to not use convert_to_string for all filters.
via [ext/pdo_sqlite/tests/common.phpt]
        SQLite PDO Common: PDOStatement::getColumnMeta [ext/pdo_sqlite/tests/pdo_022.phpt]  XFAIL REASON: This feature is not yet finalized, no test makes sense
Phar: bug #69958: Segfault in Phar::convertToData on invalid file [ext/phar/tests/bug69958.phpt]  XFAIL REASON: Still has memory leaks, see https://bugs.php.net/bug.php?id=70005
updateTimestamp never called when session data is empty [ext/session/tests/bug71162.phpt]  XFAIL REASON: Current session module is designed to write empty session always. In addition, current session module only supports SessionHandlerInterface only from PHP 7.0.
Bug #73529 session_decode() silently fails on wrong input [ext/session/tests/bug73529.phpt]  XFAIL REASON: session_decode() does not return proper status.
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Bug #77020 (null pointer dereference in imap_mail) [ext/imap/tests/bug77020.phpt]
Bug #65729: CN_match gives false positive when wildcard is used [ext/openssl/tests/bug65729.phpt]
Bug #68265: SAN match fails with trailing DNS dot [ext/openssl/tests/bug68265.phpt]
Bug #68879: Match IP address fields in subjectAltName checks [ext/openssl/tests/bug68879.phpt]
Bug #68920: peer_fingerprint input checks should be strict [ext/openssl/tests/bug68920.phpt]
Bug #69215: Crypto servers should send client CA list [ext/openssl/tests/bug69215.phpt]
Peer verification matches SAN names [ext/openssl/tests/san_peer_matching.phpt]
security_level setting to prohibit cert [ext/openssl/tests/stream_security_level.phpt]
Specific crypto method for ssl:// transports. [ext/openssl/tests/streams_crypto_method.phpt]
tls stream wrapper with min version 1.0 and max version 1.1 [ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt]
tls stream wrapper [ext/openssl/tests/tls_wrapper.phpt]
tls stream wrapper when TLS 1.3 available [ext/openssl/tests/tls_wrapper_with_tls_v1.3.phpt]
tlsv1.0 stream wrapper [ext/openssl/tests/tlsv1.0_wrapper.phpt]
tlsv1.1 stream wrapper [ext/openssl/tests/tlsv1.1_wrapper.phpt]
tlsv1.2 stream wrapper [ext/openssl/tests/tlsv1.2_wrapper.phpt]
tlsv1.3 stream wrapper [ext/openssl/tests/tlsv1.3_wrapper.phpt]
Multicast support: IPv6 receive options [ext/sockets/tests/mcast_ipv6_recv.phpt]
=====================================================================

尝试

基本摘要;不包括修改系统后无数的兔子洞、弯路和失败尝试后的恢复。

  1. 尝试dnfremi.

    Could not specify **7.4.3**, just **7.4.14**.  Have PHP 72, 73 74, and 80, with 7.4.14 currently enabled.
    
  2. 编译+安装 PHP 8.0

    Mistake (did not know that '>= **7.4.3**' instructions evidently does not include >= 8.0)
    
    Note: naturally, because none of the programs could run on this version, it of course compiled/installed seamlessly, with not even one error (:
    
  3. 新解决方案:编译7.4.3来自源头

    i. 获取 php7.4.3 .tar来自官方 PHP 网站;提取它并执行./configure ...

    ii. 运行./configure ...,第一个错误:

    Wrong version for PHP extensions
    
    Solution: almost all of the non-base PHP extensions needed their `-devel` version installed.
    

    iii../configure ...现在可以运行了make cleanmake && make test

    make test错误:与下面的错误类似(在“错误”下),但数量至少是其两倍,因为opcache

    Solution: Added `--disable-opcache --disable-opcache-file` to `./configure ...`
    

    iv .再次make clean运行make && make testsudo

    Where I am now.  Already have openssl-devel, and cannot find imap-devel or anything similar.
    

make程序

为了./configure正常运行,必须安装以下所有内容yumoniguruma, oniguruma-develDNF 除外):

libcurl-devel, bzip2-devel, libpng-devel, libjpeg-devel, freetype-devel, libc-client-devel, libicu-devel, oniguruma, oniguruma-devel, postgresqlm, postgresql-devel, readline-devel, libsodium-devel, libxslt-devel, zip-devel, libsodium-devel, libxslt-devel, zip-devel

首次成功:

% Used --disable-opcache --disable-opcache-file to get rid of opcache errors, since it is optional
sudo ./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --enable-ctype --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --with-zip --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/lib/mysql/mysql.sock --with-jpeg --with-openssl --with-fpm-user=nginx --with-fpm-group=nginx --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --disable-opcache --enable-intl --with-pear --enable-shmop --with-sodium --with-readline --enable-fpm

系统详细信息

VPS,CentOS 8。用作网络和电子邮件服务器,使用 node.js 来处理除上述 3 个 PHP 程序之外的所有程序。

数据库:玛丽亚数据库

邮件:postfix、dovecot、opendkim、opendmarc、spamassassin、clamav

网站:nginx

其他::php-fpm、MEAN 堆栈、一些 LEMP(MediaWiki、Roundcube 和 PostfixAdmin)

答案1

我需要升级到 PHP 7.4.3(从 7.4.14 开始)

您明白这不是升级,而是降级,因为 7.4.3 比 7.4.14 旧?

使用您的链接。

来自 MediaWiki

请使用 PHP 7.4.3 或更高版本。

来自 Roundcubemail

PHP 版本 5.4.1 或更高版本(且 <8.0**)

来自 PostFixAdmin

支持 PHP7.0+

所以7.4.14很好,我不明白你为什么认为你需要 7.4.3,它有很多安全问题(在较新的版本中已修复)

确实,我的存储库中只有最后 2 个在线次要版本(目前是 7.4.13 和 7.4.14),但当“真正”需要时,你可以请求更旧的版本论坛

相关内容