Назад | Перейти на главную страницу

«Sudo apt-get install php7.0-dev» не работает

Я пытаюсь установить Xdebug на сервер, и предварительным условием в учебнике, за которым я следую, является php5-dev, но я использую php7.0.5, поэтому я попробовал sudo apt-get install php7.0-dev.

Это дает мне

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:
 php7.0-dev : Depends: libpcre3-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Привязался к установке libpcre3 и получил аналогичное сообщение о другом пакете. Я не знаю, что я здесь делаю, поэтому не знаю, что делать.

Сервер - Ubuntu 14.04, Nginx 1.9.13, PHP7.0-FPM.

Любые советы о том, что делать, чтобы установить php dev?

Я обновил ubuntu с 14.04 до 16.06.

Мне пришлось отключить php 5.6 с помощью sudo a2dismod php5.6 и включить php 7.0 sudo a2enmod php7.0.

Я начал получать то же сообщение об ошибке при установке php7.0-dev

У меня это сработало.

sudo apt install libpcre3 = 2: 8.38-3.1 libpcre3-dev = 2: 8.38-3.1, а затем sudo apt-get install php7.0-dev

php7.0-dev отсутствует в надежных репозиториях (см. Вот), поэтому очевидно, что некоторые / многие из его зависимостей также не будут в этом репозитории.

Легкий ответ

Обновите до 16.04 LTS xenial, когда он будет официально выпущен на следующей неделе, 21 апреля 2016 года. Он имеет php7.0-dev и все его зависимости. Видеть Вот.

Жесткий ответ

Вы можете вручную установить зависимые пакеты. Если вы пойдете в http://packages.ubuntu.com/xenial/php7.0-dev и загрузите каждый пакет вручную, а затем установите их либо с помощью Центра программного обеспечения, либо dpkg -i.

У меня был смешанный успех в этом процессе. Есть разумная вероятность, что вы можете столкнуться с пакетом, которому требуется более новая основная библиотека (например, libc6).

Удачи!

Вы пробовали использовать sudo phpdismod xdebug или sudo phpenmod xdebug?

У меня была такая же проблема, потому что я обновил форму с 14.04 до 16.04, а библиотека libpcre3 не была обновлена.

Принудительная установка версии этой библиотеки из Ubuntu 16.04, исправила проблему: sudo apt install libpcre3 = 2: 8.38-3.1 libpcre3-dev = 2: 8.38-3.1

Установка php7.0-dev прошла отлично: sudo apt install php7.0-dev

За AskUbuntu, пытаться dpkg --get-selections | grep hold.

Если в списке есть какие-либо пакеты, удалите их. Если это не сработает, попробуйте apt-get autoremove