Как добавить модуль pdo?

Ссылка скопирована
15 марта 2026 2 ответов

Не могу запустить сайты. Логи выдают ошибку :
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

Как добавить модуль pdo?

Версия php 5.6. Ubuntu 20.04.6 LTS
Поставил старую версию так как переносил сайты сo старого сервера.
Заранее спасибо за помощь!

Дополнительно:

можно посоветовать устанавливать php 5.6 на убунту 16 или 18 в докере на 20 а не на 20 непосредственно

  • Если погуглить php-mysqlnd, то предлагают удалить php-mysql и установить php-mysqlnd.
    Наверное, за счет такой манипуляции предыдущая конфигурация функционировала.
  • Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </>
    Это обязательно, см.п.3.8 Регламента.
    Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
  • alexalexes, спасибо , сейчас попробую
  • Модератор, извините , учту
  • Ответы:

    Модули 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.
      Оба раза все встало вообще без проблем.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    Для добавления модуля 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, где вы можете получить помощь и советы от опытных специалистов.

    Другие ответы (1) Ответить на вопрос
    Игорь Волков

    Для добавления модуля 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-&gt;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-&gt;getMessage(); }

    Это простой пример использования PDO для подключения к базе данных MySQL. Вы можете дополнить его своими запросами и операциями с базой данных. Не забывайте обрабатывать исключения и ошибки при работе с PDO.

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно