Как добавить модуль pdo?
Не могу запустить сайты. Логи выдают ошибку :
PHP Fatal error: Class 'PDO' not found in
Результат php -m
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/mysql.so' - /usr/lib/php/20131226/mysql.so: undefined symbol: mysqlnd_connect in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/pdo_mysql.so' - /usr/lib/php/20131226/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0 |
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/mysql.so' - /usr/lib/php/20131226/mysql.so: undefined symbol: mysqlnd_connect in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/pdo_mysql.so' - /usr/lib/php/20131226/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0
Версия php 5.6. Ubuntu 20.04.6 LTS
Поставил старую версию так как переносил сайты сo старого сервера.
Заранее спасибо за помощь!
Дополнительно:
можно посоветовать устанавливать php 5.6 на убунту 16 или 18 в докере на 20 а не на 20 непосредственно
Наверное, за счет такой манипуляции предыдущая конфигурация функционировала.
Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
Ответы:
Модули php тесно связаны с конкретной сборкой php, поэтому распространяются вместе и по отдельности на имеют смысла.
Тот механизм, который ты использовал для установки своей версии php, если не содержит нужного модуля, значит его нет и остаётся только самостоятельная компиляция из исходников, и это очень не тривиальный процесс.
Выбери другой источник пакетов php, например на launchpad backports
- впервые вижу рекомендацию ставить РНР не из репозитория Сурого
интересно, чем продиктовано - Ипатьев, если честно бездумно скопировал из гугла, почему то подумал что для такой старой версии php найти что то рабочее будет сложно
дай ссылку на этот реп
- https://launchpad.net/~ondrej/+archive/ubuntu/php
но в целом оно ставится просто добавлением ppa:ondrej/php - Ипатьев, не помогло , устанавливал по примеру:
https://nanosofttech.wordpress.com/2022/05/17/inst... - mini_MAFA, ну вот странно, я буквально пару месяцев назад устанавливал 5.6 и всего два дня назад - 8.2.
Оба раза все встало вообще без проблем.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для добавления модуля PDO (PHP Data Objects) в ваш проект вам необходимо выполнить несколько шагов. PDO - это расширение PHP, которое обеспечивает унифицированный интерфейс доступа к базам данных, позволяя вам работать с различными типами баз данных, такими как MySQL, PostgreSQL, SQLite и другими, используя один и тот же API.
1. Убедитесь, что у вас установлен PHP с поддержкой PDO. Вы можете проверить это, выполнив команду php -m в командной строке или создав скрипт phpinfo.php с содержимым и открыв его в браузере. В разделе PDO вы должны увидеть информацию о поддержке PDO.
2. Если PDO не установлен, вам нужно установить его. Для этого вам потребуется изменить конфигурацию PHP. Откройте файл php.ini и найдите строку, начинающуюся с extension=pdo.so (для Linux) или extension=pdo.dll (для Windows). Раскомментируйте эту строку, убрав точку с запятой в начале, если она закомментирована.
3. Далее вам нужно добавить модули для конкретных баз данных, с которыми вы планируете работать с помощью PDO. Например, для работы с MySQL вам понадобится модуль pdo_mysql. Для этого в файле php.ini найдите строку, начинающуюся с extension=pdo_mysql.so (для Linux) или extension=pdo_mysql.dll (для Windows), раскомментируйте ее.
4. После внесения изменений в файл php.ini перезапустите веб-сервер, чтобы изменения вступили в силу.
5. Теперь вы можете использовать PDO в своем проекте. Например, приведем пример подключения к базе данных MySQL с помощью PDO:
$dsn = 'mysql:host=localhost;dbname=my_database'; $username = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $username, $password); echo 'Соединение установлено'; } catch (PDOException $e) { echo 'Ошибка подключения: ' . $e->getMessage(); } |
$dsn = 'mysql:host=localhost;dbname=my_database'; $username = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $username, $password); echo 'Соединение установлено'; } catch (PDOException $e) { echo 'Ошибка подключения: ' . $e->getMessage(); }
Это простой пример использования PDO для подключения к базе данных MySQL. Вы можете дополнить его своими запросами и операциями с базой данных. Не забывайте обрабатывать исключения и ошибки при работе с PDO.


Для добавления модуля PDO (PHP Data Objects) к вашей установке PHP, вам понадобится выполнить несколько шагов. PDO - это расширение PHP, которое обеспечивает абстракцию доступа к базам данных, позволяя вам работать с различными СУБД, такими как MySQL, PostgreSQL, SQLite и другими, используя единый интерфейс.
Первым шагом будет проверка наличия модуля PDO в вашей установке PHP. Для этого вы можете создать простой PHP-скрипт с функцией phpinfo(), который покажет все доступные модули и их настройки. Запустите этот скрипт на вашем сервере и найдите раздел PDO в выводе. Если модуль PDO уже установлен, вам не нужно будет выполнять дополнительные действия.
Если модуль PDO отсутствует, вам необходимо будет установить его. Существует несколько способов добавления модуля PDO к вашей установке PHP, в зависимости от вашей операционной системы и способа установки PHP. Ниже приведены общие инструкции для различных операционных систем.
1. Для пользователей Linux:
- Если вы используете дистрибутив Linux, такой как Ubuntu, Debian или CentOS, вы можете установить модуль PDO, выполнив следующую команду в терминале:
- Для Ubuntu/Debian:
```bash
sudo apt-get install php7.4-mysql
```
- Для CentOS:
```bash
sudo yum install php74-mysqlnd
```
- После установки модуля PDO перезапустите ваш веб-сервер, чтобы изменения вступили в силу.
2. Для пользователей Windows:
- Если вы используете Windows, вы можете добавить модуль PDO через файл настроек php.ini. Найдите строку в файле php.ini, отвечающую за расширения, и раскомментируйте (уберите точку с запятой) строку, начинающуюся с "extension=php_pdo_mysql.dll".
- После внесения изменений в php.ini, перезапустите ваш веб-сервер, чтобы изменения вступили в силу.
3. Для пользователей других операционных систем:
- Если вы используете другую операционную систему, вам следует обратиться к документации вашего дистрибутива PHP или веб-сервера для установки модуля PDO.
После добавления модуля PDO к вашей установке PHP, вы можете начать использовать его для работы с базами данных. PDO предоставляет удобный и безопасный способ взаимодействия с различными СУБД, обеспечивая защиту от SQL-инъекций и других уязвимостей.
Не забывайте регулярно обновлять вашу установку PHP и модули, чтобы обеспечить безопасность и стабильность вашего веб-приложения. В случае возникновения проблем или вопросов, обращайтесь к сообществу разработчиков на форумах, таких как stackoverflow.com, где вы можете получить помощь и советы от опытных специалистов.