PHP 模块在安装 PHP 7 到我的服务器后不加载

PHP modules don't load after installing PHP 7 to my server

我在我的服务器上安装了 PHP 7(结果,我没有 /etc/php5 和 /etc/php/7.0)。当我 运行 我的网络应用程序时,我看不到我以前的任何 CURL(或分叉)。

起初我收到这条错误消息:

Message: Call to undefined function curl_init()

并且在安装 php7-curl 之后我启用了它 - 在 info() 函数和此测试代码上获得批准:

var_dump(_isCurl());
function _isCurl(){
    return function_exists('curl_version');
}

返回真。

但是当我的代码中有一个实际的 CURL 时,我得到这个错误:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_curl.dll' - /usr/lib/php/20151012/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0

/usr/lib/php/20151012/ 我只有 .so 个没有意义的文件。 (/usr/lib/php5/20131226 文件夹也是如此)。那么它试图得到什么以及为什么要从那里得到什么?

如何配置我的新 php.ini 文件以获取以前的模型设置? (如果可能的话也启用 PCNTL_FORK)我怎样才能让它与 curl 一起工作?到底发生了什么???

编辑 2016 年 5 月 4 日:

好的,我决定将其更改为 curl.so,现在收到此消息 PHP Warning: Module 'curl' already loaded in Unknown on line 0 然后我将其禁用,不知何故,curl 现在可以正常工作(评论 curl ;extension:curl.so;extension:php_curl.dll。 我勒个去。

运行 apt-get dist-upgrade 解决了所有问题:)

我确实遇到了这个问题。

我刚刚花了最后几个小时试图修复一些东西,出于某种原因我在匆忙中启用了这条线:

extension:php_curl.dll

显然,正如有人所说,这有 0 的意义,但是在您这样做之后错误消息很奇怪。 运行 apt-get dist-upgrade 没有解决问题。

所以,在拔出更多头发并重新阅读此 post 100 遍之后, 我刚刚评论了它

;extension:php_curl.dll

嗯,问题解决了。

所以 OP 一定做了我所做的...工作时喝啤酒

就我而言,要使 curl 正常工作:

  • sudo apt-get 安装 php-curl
  • 评论卷曲扩展:;extension=php_curl.dll in php.ini(例如 /etc/php/7.1/cli/php.ini)

同时安装 PHP 的两个版本时,设置可能会混淆——例如,7.0 和 7.3。这可能是因为最近的 dist 升级。可能会加载错误版本的模块。就我而言,apt purge php7.0 和重新安装 7.3 修复了我,当然你可能不想对自己的系统那么粗暴...