Package php pgsql has no installation candidate

Package php5 have no installation candidate (Ubuntu 16.04)

When i try to install php5 in Ubuntu 16.04 by using following code:

sudo apt-get install php5 php5-mcrypt 
Reading package lists. Done Building dependency tree Reading state information. Done Package php5 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'php5' has no installation candidate 

I have tried reinstalling but it does not help.

All this error was encountered after I updated my 15.10 Ubuntu to 16.04

Php Solutions

Solution 1 — Php

Ubuntu 16.04 comes with PHP7 as the standard, so there are no PHP5 packages

However if you like you can add a PPA to get those packages anyways:

Remove all the stock php packages

List installed php packages with dpkg -l | grep php| awk » |tr «\n» » » then remove unneeded packages with sudo aptitude purge your_packages_here or if you want to directly remove them all use :

sudo aptitude purge `dpkg -l | grep php| awk '' |tr "\n" " "` 

Add the PPA

sudo add-apt-repository ppa:ondrej/php 

Install your PHP Version

sudo apt-get update sudo apt-get install php5.6 

You can install php5.6 modules too ..

Verify your version

Solution 2 — Php

You must use prefix «php5.6-» instead of «php5-» as in ubuntu 14.04 and olders:

sudo apt-get install php5.6 php5.6-mcrypt 

Solution 3 — Php

If you just want to install PHP no matter what version it is, try PHP7

sudo apt-get install php7.0 php7.0-mcrypt 

Solution 4 — Php

sudo apt-get install php7.0-mysql 

for php7.0 works well for me

Solution 5 — Php

sudo apt-get update sudo apt-get install lamp-server^ -y 

Solution 6 — Php

Currently, I am using Ubuntu 16.04 LTS. Me too was facing same problem while Fetching the Postgress Database values using Php so i resolved it by using the below commands.

Mine PHP version is 7.0, so i tried the below command.

Remember to restart Apache.

Solution 7 — Php

I recently had this issue as well and solved it using the following command:

sudo apt install php7.2-cli 

php is now installed. I’m using Ubuntu 18.04.

Источник

Yii Framework

Как поставить php-pgsql клиент на php:7.1-cli контейнер?

Как поставить php-pgsql клиент на php:7.1-cli контейнер?

Сообщение EVOSandru6 » 2018.09.26, 09:01

Сам postgres контейнер точно рабочий, конектился, манипулировал данными через Database manager. Проблема именно в том, чтобы подружить его с php

Фрагмент docker-compose.yml

php-cli: build: $/php-cli volumes: - $:/var/www environment: - DB_CONNECTION=pgsql - DB_PORT=5432 - DB_HOST=pgsql tty: true pgsql: image: postgres:latest environment: - POSTGRES_USER=$ - POSTGRES_PASSWORD=$ - POSTGRES_DATABASE=$ ports: - 54321:5432 volumes: - ./storage/docker/postgres/:/docker-entrypoint-initdb.d/
FROM php:7.1-cli RUN apt-get update && apt-get install -y libmcrypt-dev php-pgsql; ## или php7.1-pgsql, тот же результат RUN docker-php-ext-install mcrypt pcntl pdo pdo_pgsql; WORKDIR /var/www

E: Package ‘php-pgsql’ has no installation candidate
ERROR: Service ‘php-cli’ failed to build: The command ‘/bin/sh -c apt-get update && apt-get install -y libmcrypt-dev php-pgsql; ## php7.1-pgsql’ returned a non-zero code: 100

Если меняю Dockerfile на: (убираю php-pgsql)

FROM php:7.1-cli RUN apt-get update && apt-get install -y libmcrypt-dev; RUN docker-php-ext-install mcrypt pcntl pdo pdo_pgsql; WORKDIR /var/www

checking for pg_config. not found
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
ERROR: Service ‘php-cli’ failed to build: The command ‘/bin/sh -c docker-php-ext-install mcrypt pcntl pdo pdo_mysql pdo_pgsql;’ returned a non-zero code: 1

Подскажите пожалуйста — если кто нибудь сталкивался.

Источник

Ошибка package has no installation candidate

В дистрибутиве Ubuntu и других, основанных на нем дистрибутивах, при установке новых пакетов пользователи могут столкнуться с ошибкой «package has no installation candidate» или по русски «Для пакета не найден кандидат на установку».

Эта ошибка может возникать при установке непопулярных программ или уже устаревших версий. Например, вы получите ее при попытке установить php5 или любой пакет, зависящий от этого в новой версии Ubuntu 16.04 или 16.10. В этой небольшой инструкции мы рассмотрим что означает ошибка «package has no installation candidate», а также как ее обойти и установить нужную программу.

Что означает package has no installation candidate?

Фактически, это означает то, что написано. Пакетный менеджер не нашел кандидата на установку для такого пакета. Ошибка будет выглядеть вот так в русской локализации:

pack

pack1

Пакетный менеджер просто не знает где искать такой пакет. Его нет в официальных репозиториях, и нет в репозиториях, подключенных к вашей системе. Все это нам говорит пакетный менеджер:

Пакет php5 недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

Из этого выплывает несколько способов решения проблемы, которые мы рассмотрим ниже.

Как решить package has no installation candidate?

Для начала нужно обновить списки пакетов из репозиториев, возможно, у вас старая версия системы и для нее этот пакет еще недоступен. Это особенно актуально для бета-версий Ubuntu. Для обновления выполните:

Затем пробуйте снова установить ваш пакет. Если пакетный менеджер по-прежнему не может его найти, но вы точно знаете что такой пакет должен быть в официальных репозиториях, то, возможно, он есть в репозиториях партнеров Canonical. Нужно их добавить. Для этого откройте Источники программного обеспечения и установите все галочки:

pack2

pack3

Дальше система автоматически обновит список пакетов:

pack4

После этого можно устанавливать ваш пакет. Если его до сих пор нет мы можем пойти дальше и выполнить поиск по PPA. На сайте launchpad.net есть форма поиска:

pack5

Например, будем искать наш php 5. Вводим запрос в форму поиска и в результатах в первой же строке видим PPA, в котором есть нужная версия php. Такое решение подходит для многих пакетов.

На странице PPA мы уже видим способ добавления его в систему:

pack6

Например, для добавления этого PPA выполните такие команды:

sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update

После этого вы без труда установите нужный пакет.

Но если пакет не был найден в PPA, то остается только один способ — скачать deb установщик с сайта Ubuntu и установить его вручную. Вы можете скачать пакеты от старых версий ubuntu на сайте packages.ubuntu.com. Но вам нужно будет скачать все зависимости. Тут тоже есть отличная форма поиска:

pack7

Было найдено четыре версии, нам нужна последняя, для Trusty:

pack8

На странице кликните по архитектуре, в данном случае all, для загрузки:

pack9

Осталось только выбрать зеркало для загрузки и скачать файл:

pack10

Затем установить его с помощью dpkg:

sudo dpkg -i ./php5_5.5.9+dfsg-1ubuntu4.20_all.deb

Но не забудьте, что вам нужны все зависимости. Чтобы не делать это вручную, можно добавить репозиторий этого пакета в /apt/sources.list и заставить пакетный менеджер работать вместо вас. В нашем случае на сайте сказано, что нужно добавить строчку:

deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main

pack11

Можно добавить только ее, но не всегда все зависимости будут находиться только в этом репозитории, так что будет лучше добавить сразу все репозитории нужной версии Ubuntu в этот файл. Например, для версии Trusty нужно добавить такие репозитории:

deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main universe
deb http://security.ubuntu.com/ubuntu trusty-security main universe
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

pack12

Не забудьте обновить список пакетов:

Далее можно установить нужную вам программу:

После завершения, обязательно удалите все новые репозитории иначе при следующем обновлении, они сломают вам систему.

Выводы

В этой небольшой статье мы рассмотрели как исправить ошибку package php5 has no installation candidate, такой же процесс решения подойдет для любого подобного пакета. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for postgresql database #32

Support for postgresql database #32

Comments

I’m trying out this image… but it doesn’t show me the option to connect to a postgresql database?

I guess it’s because the php-extensions for that are not installed? Is there some easy way to add them after the container is created?

A apt-get install php-pgsql just yields:

E: Package 'php-pgsql' has no installation candidate 

The text was updated successfully, but these errors were encountered:

I actually quickly played around a bit and adding libpq-dev to apt-get install and pgsql pdo_pgsql to docker-php-ext-install in the Dockerfile looked promising. Not sure both or pdo_pgsql would be sufficient. But I could select postgres in the installer.

Huh — I received only a few error messages when I tried the same.

I have decided to have this image support PostgreSQL to begin with (most users will still probably be using MySQL, but I like PostgreSQL better as well, so why not support it right from the start), so a PR to add pgsql support out-of-the-box will be incoming shortly.

Источник

Читайте также:  Php dynamic function names
Оцените статью