Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не удаётся из php подключиться к базе MySql / 11 сообщений из 11, страница 1 из 1
18.05.2019, 15:26
    #39814877
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
Ошибка Fatal error: Uncaught Error: Class 'PDO' not found in

В php.ini

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
extension=pdo.so
extension=pdo_mysql.so
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql.so
extension=pdo_sqlite.so
extension=sqlite.so
на установку

/etc/apache2$ sudo apt-get install php7.2-pdo
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Заметьте, вместо «php7.2-pdo» выбирается «php7.2-common»
Уже установлена самая новая версия php7.2-common.
Следующие пакеты устанавливались автоматически и больше не требуются:
  gir1.2-gconf-2.0 python-compizconfig
Для их удаления используйте «apt-get autoremove».
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 212 пакетов не обновлено.
Помогите, пожалуйста. С mysqli такая история.

sudo apt-get install php-mysqli
[sudo] password for me: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакет php-mysqli — виртуальный, его функции предоставляются пакетами:
  php7.3-mysql 7.3.4-1+ubuntu14.04.1+deb.sury.org+3
  php7.0-mysql 7.0.33-6+ubuntu14.04.1+deb.sury.org+3
  php7.2-mysql 7.2.17-1+ubuntu14.04.1+deb.sury.org+3
Вы должны явно указать, какой именно вы хотите установить.



E: Для пакета «php-mysqli» не найден кандидат на установку
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
~$ sudo apt-get install php7.2-mysqli
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Заметьте, вместо «php7.2-mysqli» выбирается «php7.2-mysql»
Уже установлена самая новая версия php7.2-mysql.
Следующие пакеты устанавливались автоматически и больше не требуются:
  gir1.2-gconf-2.0 python-compizconfig
Для их удаления используйте «apt-get autoremove».
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 212 пакетов не обновлено.



Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
18.05.2019, 16:29
    #39814889
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
Кроме базового PDO нужен ещё и соответствующий драйвер, в данном случае, pdo-mysql для соответствующей версии PHP. Проверьте его наличие и при необходимости установите соответствующий пакет.
В конфиге AnnitaBellsВ php.ini

Код: powershell
1.
2.
extension=pdo.so
extension=pdo_mysql.so

расширение есть, но не понятно, откуда оно там. Может Вы ручками написали строчки.

И, если к PHP обращаетесь через вебсервер... перезапускали его после установки пакетов?

И, на всякий случай, php-mysqli и php-mysql - это совсем другая опера.
...
Рейтинг: 0 / 0
18.05.2019, 17:03
    #39814895
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
vkleрасширение есть, но не понятно, откуда оно там. Может Вы ручками написали строчки..
Да, ручками.

vkleИ, если к PHP обращаетесь через вебсервер... перезапускали его после установки пакетов?
Да.

vkleИ, на всякий случай, php-mysqli и php-mysql - это совсем другая опера.
Я-то знаю, а вот мой убунту считает наоборот.:(

Код: powershell
1.
2.
3.
4.
5.
6.
7.
Пакет php-pdo — виртуальный, его функции предоставляются пакетами:
  php7.2-common 7.2.17-1+ubuntu14.04.1+deb.sury.org+3
  php7.3-common 7.3.4-1+ubuntu14.04.1+deb.sury.org+3
  php7.0-common 7.0.33-6+ubuntu14.04.1+deb.sury.org+3

Пакет php7.2-mysqli — виртуальный, его функции предоставляются пакетами:
  php7.2-mysql 7.2.17-1+ubuntu14.04.1+deb.sury.org+3 [Нет версии-кандидата]
...
Рейтинг: 0 / 0
18.05.2019, 17:19
    #39814896
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
AnnitaBellsvkleрасширение есть, но не понятно, откуда оно там. Может Вы ручками написали строчки..
Да, ручками.Странно. Приличный установщик пакетов обычно делает это самостоятельно. Не знаю, насколько он приличный в этих ваших убунтах... Есть смысл посмотреть наличие соответствующих установленных пакетов в системе, а если пакет числится как установленный, то фактическое наличие файлов расширения проверить.

AnnitaBellsvkleИ, на всякий случай, php-mysqli и php-mysql - это совсем другая опера.
Я-то знаю, а вот мой убунту считает наоборот.:(Видимо, не знаете. У Вас ошибка отсутствия класса PDO, а Вы зачем-то расширение mysqli пытаетесь установить. И убунта тут ни при чем.
...
Рейтинг: 0 / 0
18.05.2019, 18:04
    #39814899
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
vkle,

мне и pdo, и mysqli подойдёт. Только бы запросы к mysql можно было делать.
...
Рейтинг: 0 / 0
18.05.2019, 18:06
    #39814900
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
AnnitaBells,

Ну и... Что показывает phpinfo(), какие результаты дала проверка наличия установленных пакетов и файлов расширений?
...
Рейтинг: 0 / 0
18.05.2019, 18:54
    #39814904
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
vkle,

Код: powershell
1.
2.
3.
4.
5.
dpkg -s php7.2-mysqli
dpkg-query: пакет «php7.2-mysqli» не установлен, информация о нём недоступна

dpkg -s php7.2-pdo
dpkg-query: пакет «php7.2-pdo» не установлен, информация о нём недоступна



vkleЧто показывает phpinfo()

Какой параметр Вас интересует?
...
Рейтинг: 0 / 0
18.05.2019, 20:26
    #39814906
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
AnnitaBells,

Зашибись!
А это типа, пакеты переименованы, или алиасы или с чего оно так в этих убунтах?
авторЗаметьте, вместо «php7.2-pdo» выбирается «php7.2-common»
Уже установлена самая новая версия php7.2-common.авторЗаметьте, вместо «php7.2-mysqli» выбирается «php7.2-mysql»
Уже установлена самая новая версия php7.2-mysql.

AnnitaBellsКакой параметр Вас интересует?Меня параметры Вашего пхп мало интересуют. Разбираться придется Вам. От меня только подсказки можете ожидать, ибо, с этими убунтами я знаком лишь поверхностно, и, к тому же, давно их не трогал. Когда-то на работе народ ставил, потом повыкидывали нафиг, нынче никто не пользуется. Года три или четыре уж. Тогда проблем с пхп не было, а как оно сейчас - эт я без понятия.

В php -i (и аналогично в phpinfo()) должны быть, как минимум для PDO и драйвера секции и параметры:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
PDO

PDO support => enabled
PDO drivers => mysql

pdo_mysql

PDO Driver for MySQL => enabled



Если мое предположение об алиасах верно и PDO с драйверами пихнули непосредственно в базовый PHP, тогда эти секции должны быть "из коробки", из базового пхп и подгрузка библиотек расширений не требуется вообще. Это можно определить по опциям компиляции в начале. Проверьте --enable-pdo и --with-pdo-mysql (подробности и дефолтовые значения в мануале есть).

Ну и про mysqli аналогично.

Если же базовый PHP скомпилен без поддержки PDO и mysqli, а файлов библиотек расширений *.so таки нет ни в том же пакете, ни в отдельных пакетах расширений... Хммм.... Ну тогда, возможно, репозиторий битый или левенький какой-то.
...
Рейтинг: 0 / 0
22.05.2019, 13:48
    #39816468
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
vkle,

Код: powershell
1.
2.
3.
4.
PDO

PDO support => enabled
PDO drivers =>  



Пустота.
А можете привести начало строки для авторПроверьте --enable-pdo и --with-pdo-mysql
...
Рейтинг: 0 / 0
22.05.2019, 14:46
    #39816540
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
AnnitaBellsА можете привести начало строки для авторПроверьте --enable-pdo и --with-pdo-mysqlДа без проблем. Почти в самом начале она:
Код: php
1.
Configure Command =>  './configure' 

Далее следуют опции для сборки.

Часть опций общего типа расписана на страничке мануала https://www.php.net/manual/ru/configure.about.php
Часть описана в разделах "Установка" для соответствующих расширений, вроде https://www.php.net/manual/ru/dom.installation.php
Ну и непосредственно в ./configure --help (скрипт configure поставляется вместе с исходниками php) есть полезная информация. Это для понимания, где искать. Обращайте внимание так же на версию php и на "по дефолту".

Конкретно для драйвера pdo_mysql конфигурирование расписано на страничке https://www.php.net/manual/ru/ref.pdo-mysql.php, а для mysqli соответственно https://www.php.net/manual/ru/mysqli.installation.php

В принципе, любое штатное расширение или драйвер, может быть как намертво вкомпилен в php (если по дефолту включено или явно указано в опциях --enable-что-то или --with-чем-то), так и поставляться в виде отдельного модуля (если не включено по дефолту или явно отключено или без --with).

Возможно, опции --with-pdo-mysql, которая отвечает за сборку php с проблемным драйвером, в вашем случае как раз и нет. Тогда следует искать это расширение как отдельный файл *.so в составе базового пакета или пакета расширения.

Возможно, проще будет спросить у убунтуводов, в каком репозитории есть нормально собранный php с необходимыми модулями и драйверами и установить оттуда с нуля.
...
Рейтинг: 0 / 0
29.05.2019, 19:28
    #39820047
AnnitaBells
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся из php подключиться к базе MySql
vkle,
спасибо за ценную информацию! Но надо было срочно, установила XAMPP - заработало!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не удаётся из php подключиться к базе MySql / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]