Недавно я обновил свой Ubuntu с 16.04 по 18.04, а затем с 18.04 по 20.04. Теперь два плагина на моем сайте Wordpress выдают мне следующие ошибки:
1- OneSignal Push: cURL не установлен на этом сервере. cURL требуется для отправки уведомлений. Перед продолжением убедитесь, что cURL установлен на вашем сервере.
2- Composer обнаружил проблемы на вашей платформе: для ваших зависимостей Composer необходимо установить следующие расширения PHP: curl
Я пробовал все связанные решения в Интернете, но пока не смог решить эту проблему. Я запустил sudo apt-get install curl
, но ничего не изменилось. Я также получил следующее: curl - это уже самая новая версия (7.68.0-1ubuntu2.2)
.
Вывод политики apt-cache policy php7.4-curl
php7.4-curl:
Installed: (none)
Candidate: 7.4.3-4ubuntu2.4
Version table:
7.4.12-3+ubuntu16.04.1+deb.sury.org+1 -1
100 /var/lib/dpkg/status
7.4.3-4ubuntu2.4 500
500 http://mirrors.digitalocean.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
7.4.3-4ubuntu1 500
500 http://mirrors.digitalocean.com/ubuntu focal/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
Пакет curl содержит интерфейс командной строки, в основном команду curl
. Но WordPress (включая его плагины) разработан на PHP, а PHP не может просто использовать версию cURL для командной строки. Для этого PHP необходимо соответствующее расширение.
В Ubuntu несколько расширений PHP упакованы как отдельные пакеты, например php-mysql или php-imagick. В случае cURL этот пакет расширения будет php-curl. Это, вероятно, то, что вам не хватает.
Примечание: php-curl
сам по себе не содержит расширения PHP. Это обеспечивается пакетом для соответствующей версии PHP, от которой зависит php-curl
. Итак, если вы установите php-curl
, например, на Ubuntu 20.04, он также установит php7.4-curl, потому что Ubuntu 20.04 поставляется с PHP 7.4.