我有这个问题:
PHP Fatal error: Call to undefined function curl_init() in /var/www/html/...on line 1495
我已经在 php.ini 中启用了 curl:
extension=php_curl.dll
但在我的 apache 错误日志中我看到了以下内容:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_curl.dll' - /usr/lib/php/20131226/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_gd2.dll' - /usr/lib/php/20131226/php_gd2.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mbstring.dll' - /usr/lib/php/20131226/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mysql.dll' - /usr/lib/php/20131226/php_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
我尝试安装 curl 扩展,但没有成功。
知道怎么修复吗?我不知道。
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
答案1
首先,.dll
是 Microsoft Windows 文件扩展名。在 Linux 世界中,动态库的后缀是.so
看起来你复制/粘贴得有点快……
在 Linux 下,您应该使用extension=curl
(我 Debian 上的当前设置)或extension=php_curl
(取决于您的系统..)。
此外,您必须确保您的系统上安装了 PHP CURL 绑定。
$ dpkg -l|grep -i curl
ii libcurl3-gnutls:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libcurl4:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii php-curl 2:7.3+69 all CURL module for PHP [default]
ii php7.3-curl 7.3.9-1~deb10u1 amd64 CURL module for PHP
如果 上述 命令 的 输出 没有 报告php-curl
, 那么 你 必须 这么做apt-get install php-curl
.