Ubuntu PHP 5 Установить Curl Не удается найти пакет - PullRequest
1 голос
/ 21 июня 2019

Я получаю фатальную ошибку PHP:

Call to undefined function curl_init() error while testing some PHP code on my server.

Я предположил, что нужно установить Curl, поэтому сначала нашел версию PHP:

php --version
PHP 5.6.11-1ubuntu3.4 (cli)

Я приступил к установке пакета:

sudo apt-get install php5-curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php5-curl

Я тогда попробовал:

sudo apt install php-curl

и он, кажется, устанавливается, но я видел ссылки на PHP 7, и он успешно завершен.

Тем не менее, проблема сохраняется.

Как запустить curl, чтобы остановить ошибку init ()?

ОБНОВЛЕНИЕ: Когда я запускаю это, я получаю:

sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
curl is already the newest version (7.47.0-1ubuntu2.13).
0 upgraded, 0 newly installed, 0 to remove and 172 not upgraded.

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Вы используете Ubuntu@16.04. 16.04 не поставляется с php @ 5, но с php @ 7.

Если вам нужна старая версия php и ее зависимостей, вам нужно установить ее по-другому.

Существует заслуживающий доверия (примечание: любой внешний репозиторий все еще может быть поток безопасности ), поддерживаемый ondrej, а именно:

Я собрал Dockerfile, используя 16.04, чтобы показать, как вы можете установить php@5.6 и php5.6-curl:

FROM ubuntu:16.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get -qq update && \
    apt-get -qq install software-properties-common > /dev/null && \
    LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y > /dev/null && \
    apt-get -qq update && apt-get -qq install php5.6 php5.6-curl > /dev/null
RUN php -v && php -m | grep curl

Этот Dockerfile не идеален, но последний прогон печатает:

PHP 5.6.40-8+ubuntu16.04.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
curl

показывает, что на нем установлены php@5.6 и php-curl@5.6.

0 голосов
/ 21 июня 2019

Попробуйте:

  1. Сначала установите CURL, набрав sudo apt-get install curl.
  2. Затем перезапустите Apache, набрав sudo service apache2 restart.
  3. Установите PHP5 CURL sudo apt-get install php5-curl.
  4. Перезапустите Apache, набрав sudo service apache2.
...