【问题标题】:PHP Warning: PHP Startup: Unable to load dynamic library 'intl' undefined symbol: __cxa_throw_bad_array_new_lengthPHP 警告:PHP 启动:无法加载动态库“intl”未定义符号:__cxa_throw_bad_array_new_length
【发布时间】:2020-04-07 15:19:45
【问题描述】:

我最近更新了 php,但现在我无法摆脱这个警告。也不能回滚版本。 我正在运行 CentOS Linux 版本 7.7.1908(核心)。 如何降级到低版本?

# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'intl' (tried: /usr/lib64/php/modules/intl (/usr/lib64/php/modules/intl: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/intl.so (/usr/lib64/php/modules/intl.so: undefined symbol: __cxa_throw_bad_array_new_length)) in Unknown on line 0
PHP 7.4.0RC3 (cli) (built: Oct  1 2019 08:30:29) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies

intl 模块已安装:

#yum list installed
php-intl.x86_64                       7.4.0~RC3-5.el7.remi       @remi-modular 

如果我尝试降级,我会遇到很多错误,据我了解,有必要列出所有要降级的依赖项,例如 php-common、php-cli?

# yum downgrade php
Error: Package: php-7.3.12-1.el7.remi.x86_64 (remi-php73)
            Need: php-common(x86-64) = 7.3.12-1.el7.remi
            Installed: php-common-7.4.0~RC3-5.el7.remi.x86_64 (@remi-modular)
                php-common(x86-64) = 7.4.0~RC3-5.el7.remi
            Available: php-common-5.4.16-46.el7.x86_64 (base)
                php-common(x86-64) = 5.4.16-46.el7
            Available: php-common-5.4.16-46.1.el7_7.x86_64 (updates)
                php-common(x86-64) = 5.4.16-46.1.el7_7
            Available: php-common-5.4.45-17.el7.remi.x86_64 (remi)
                php-common(x86-64) = 5.4.45-17.el7.remi
            Available: php-common-5.4.45-18.el7.remi.x86_64 (remi)
                php-common(x86-64) = 5.4.45-18.el7.remi
            Available: php-common-5.5.38-11.el7.remi.x86_64 (remi-php55)
                php-common(x86-64) = 5.5.38-11.el7.remi
            Available: php-common-5.5.38-12.el7.remi.x86_64 (remi-php55)
                php-common(x86-64) = 5.5.38-12.el7.remi
            Available: php-common-5.6.40-13.el7.remi.x86_64 (remi-php56)
                php-common(x86-64) = 5.6.40-13.el7.remi
            Available: php-common-5.6.40-14.el7.remi.x86_64 (remi-php56)
                php-common(x86-64) = 5.6.40-14.el7.remi
            Available: php-common-7.2.24-1.el7.remi.x86_64 (remi-php72)
                php-common(x86-64) = 7.2.24-1.el7.remi
            Available: php-common-7.2.25-1.el7.remi.x86_64 (remi-php72)
                php-common(x86-64) = 7.2.25-1.el7.remi
            Available: php-common-7.3.11-1.el7.remi.x86_64 (remi-php73)
                php-common(x86-64) = 7.3.11-1.el7.remi
            Available: php-common-7.3.12-1.el7.remi.x86_64 (remi-php73)
                php-common(x86-64) = 7.3.12-1.el7.remi
Error: Package: php-7.3.12-1.el7.remi.x86_64 (remi-php73)
            Need: php-cli(x86-64) = 7.3.12-1.el7.remi
            Installed: php-cli-7.4.0~RC3-5.el7.remi.x86_64 (@remi-modular)

【问题讨论】:

    标签: php centos centos7 yum


    【解决方案1】:

    请参阅cant install php-devel for php 7.4.1,尤其是有关存储库的信息。

    您必须降级“所有” php 软件包,所以简单的方法是使用“yum distro-sync”。

    另外注意RC3遇到的这个老问题已经修复很久了,稳定版7.4.0不受影响。

    【讨论】:

      【解决方案2】:

      也许你可以尝试选择你需要的版本并从php.net下载php源代码

      编译安装How To Compile And Install PHP Extensions From Source

      【讨论】:

        猜你喜欢
        • 2019-07-24
        • 2017-05-06
        • 2020-10-12
        • 2021-08-27
        相关资源
        最近更新 更多