PHP 升级后提示 curl 错误的解决办法

虚竹 2018-11-16 1831

症状:

NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: /opt/appnode/appnode-php72/root/usr/lib64/php/modules/curl (/opt/appnode/appnode-php72/root/usr/lib64/php/modules/curl: cannot open shared object file: No such file or directory), /opt/appnode/appnode-php72/root/usr/lib64/php/modules/curl.so (/opt/appnode/appnode-php72/root/usr/lib64/php/modules/curl.so: undefined symbol: curl_multi_wait)) in Unknown on line 0


原因:
系统的 curl 类库版本太低导致的。

解决办法:
运行以下命令升级下系统的 curl 即可:

yum update -y curl
最新回复 (6)
  • mingge16888 2018-11-16
    引用 2
    刚碰到这个问题,马上就看到解决方法了,
  • lucazakek 2020-4-23
    引用 3

    升级curl后,php版本检测还是失败

  • 虚竹 2020-4-23
    引用 4

    检测失败的版本,运行命令:
    appnode-php74 -m
    看下输出(74表示7.4版本的PHP,替换为相应的版本)。

  • lucazakek 2020-4-23
    引用 5

    输出:
    PHP Warning: PHP Startup: Unable to load dynamic library 'sqlite3' (tried: /opt/appnode/appnode-php74/root/usr/lib64/php/modules/sqlite3 (/opt/appnode/appnode-php74/root/usr/lib64/php/modules/sqlite3: cannot open shared object file: No such file or directory), /opt/appnode/appnode-php74/root/usr/lib64/php/modules/sqlite3.so (/opt/appnode/appnode-php74/root/usr/lib64/php/modules/sqlite3.so: undefined symbol: sqlite3_stmt_readonly)) in Unknown on line 0

    PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /opt/appnode/appnode-php74/root/usr/lib64/php/modules/pdo_sqlite (/opt/appnode/appnode-php74/root/usr/lib64/php/modules/pdo_sqlite: cannot open shared object file: No such file or directory), /opt/appnode/appnode-php74/root/usr/lib64/php/modules/pdo_sqlite.so (/opt/appnode/appnode-php74/root/usr/lib64/php/modules/pdo_sqlite.so: undefined symbol: sqlite3_stmt_readonly)) in Unknown on line 0

    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    curl
    date
    dba
    dom
    ds
    enchant
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    intl
    json
    json_post
    libxml
    lzf
    mbstring
    mysql
    mysqli
    mysqlnd
    OAuth
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    xml
    xmlreader
    xmlwriter
    xsl
    Zend OPcache
    zip
    zlib

    [Zend Modules]
    Zend OPcache

  • 虚竹 2020-4-23
    引用 6

    执行命令rpm -q sqlite看看系统中是否缺少sqlite,正常应该是:

    [root@VM_0_7_centos ~]# rpm -q sqlite
    sqlite-3.7.17-8.el7_7.1.x86_64


    如果没有安装,用命令 yum install -y sqlite 安装后就正常了。

  • lucazakek 2020-4-24
    引用 7

    感谢虚竹,完美解决!

    总结:

    1,php无法检测到curl,可能是系统的 curl 类库版本太低导致的

    执行命令 yum update -y curl 升级curl即可。

    2,无法检测到php版本可能是系统缺少sqlite导致的

    执行命令 rpm -q sqlite 看看系统中是否缺少sqlite;

    如果缺失sqlite,执行命令 yum install -y sqlite 安装后即可。

返回
发新帖