powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не удаётся из php подключиться к базе MySql
11 сообщений из 11, страница 1 из 1
Не удаётся из php подключиться к базе MySql
    #39814877
AnnitaBells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка 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
Не удаётся из php подключиться к базе MySql
    #39814889
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме базового PDO нужен ещё и соответствующий драйвер, в данном случае, pdo-mysql для соответствующей версии PHP. Проверьте его наличие и при необходимости установите соответствующий пакет.
В конфиге AnnitaBellsВ php.ini

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

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

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

И, на всякий случай, php-mysqli и php-mysql - это совсем другая опера.
...
Рейтинг: 0 / 0
Не удаётся из php подключиться к базе MySql
    #39814895
AnnitaBells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Не удаётся из php подключиться к базе MySql
    #39814896
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnnitaBellsvkleрасширение есть, но не понятно, откуда оно там. Может Вы ручками написали строчки..
Да, ручками.Странно. Приличный установщик пакетов обычно делает это самостоятельно. Не знаю, насколько он приличный в этих ваших убунтах... Есть смысл посмотреть наличие соответствующих установленных пакетов в системе, а если пакет числится как установленный, то фактическое наличие файлов расширения проверить.

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

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

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

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

PDO support => enabled
PDO drivers =>  



Пустота.
А можете привести начало строки для авторПроверьте --enable-pdo и --with-pdo-mysql
...
Рейтинг: 0 / 0
Не удаётся из php подключиться к базе MySql
    #39816540
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Не удаётся из php подключиться к базе MySql
    #39820047
AnnitaBells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
спасибо за ценную информацию! Но надо было срочно, установила XAMPP - заработало!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не удаётся из php подключиться к базе MySql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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