从 16.04 升级到 18.04 现在缺少 curl.so

从 16.04 升级到 18.04 现在缺少 curl.so

我已经将我的 ubuntu 升级到 18.04 但现在我很想念我的 curl.so。

正常情况下它会在这里 /usr/lib/php/20160501/curl.so 但它不见了。

在命令行中我可以使用 curl 但不能在我的 php 代码中使用。

php -m | grep curl 导致

PHP 警告:

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

一个快速的解决方法是将“a”curl.so 放在该文件夹中,但是我在哪里可以获取 curl.so?

我尝试使用 apt install php-curl 重新安装它,但是它给了我

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php-curl : Depends: php7.2-curl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我仍在使用 ppa:ondrej/php。

当我检查/var/lib/php/7.1/enabled_by_admincurl 时,它被列出。

我的 curl.ini 里/etc/php/7.1/cli/mods_available就有。

并且在我的/etc/php/7.1/cli/conf.dini 文件中,该符号链接也在那里。

wget https://curl.haxx.se/download/curl-7.59.0.tar.gz
cd curl-7.59.o
./configure
make
sudo make install

也没有帮助。

答案1

首先我新添加了 ppa 并重新安装了 php7.1

sudo apt-add-repository ppa:ondrej/php
sudo apt-get 更新
sudo apt 安装 php7.1

然后我安装完毕,php7.1-curl一切又恢复正常了。

问题是我得到的是旧的 ppa 版本。

答案2

这适用于Ubuntu 18.04 仿生海狸版本

键入此命令以删除系统中的所有 curl 包

sudo apt-get purge curl

然后输入此命令来安装最新的 php 版本php7.4.5

sudo apt-get install php7.4

最后输入此命令来安装最新的php curl

sudo apt-get install php7.4-curl

答案3

这对我有用:

sudo apt-get install curl

相关内容