Модуль 'PDO' уже загружен в неизвестную строку 0 - PullRequest
4 голосов
/ 17 февраля 2012

Я использую nginx с php5-fpm, и по какой-то причине мой php5-fpm говорит «Модуль PDO» уже загружен в неизвестную строку 0 », и, честно говоря, я понятия не имею, почему.Расширение не загружается внутри php.ini, но загружается из «--with-config-file-scan-dir», который загружает pdo.ini и, конечно, загружает pdo.so

мой php configвыглядит следующим образом

'./configure' '--prefix=/opt/php5' '--with-config-file-path=/etc/php5' '--with-config-file-scan-dir=/etc/php5/conf.d' '--with-curl' '--with-pear' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-xpm-dir' '--with-freetype-dir' '--with-t1lib' '--with-mcrypt' '--with-mhash' '--with-mysql' '--with-mysqli' '--with-pdo-mysql' '--with-openssl' '--with-xmlrpc' '--with-xsl' '--with-bz2' '--with-gettext' '--with-readline' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--disable-debug' '--enable-fpm' '--enable-cli' '--enable-inline-optimization' '--enable-exif' '--enable-wddx' '--enable-zip' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-mbstring' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-shmop' '--enable-dba' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg'

Я не могу найти решение, которое работает для меня.

Я проверил phpinfo(), чтобы увидеть, если расширение PDOбыл загружен, и кажется, что он загружен (даже когда я удаляю загрузку pdo.so из pdo.ini), но когда я пытаюсь использовать PDO, я получаю

Fatal Error: класс 'PDO' не найден

Я также укажу, что я также без проблем загружаю suhosin.so, apc.so и imagick.so.

Список установленных пакетов (php иМы надеемся, что это может дать мне больше информации, чтобы помочь мне с этим.Стоит также отметить, что моя конфигурация работает без проблем за последние 6 месяцев.Я установил его с помощью установочного скрипта VladGH (https://github.com/vladgh/VladGh.com-LEMP), так как это всего лишь моя среда разработки. В случае необходимости я более чем готов сделать полную переустановку своего сервера, но я бы предпочел просто выяснить это.

dpkg --get-selections | grep php
  libapache2-mod-php5                             install
  php5-cgi                                        install
  php5-cli                                        install
  php5-common                                     install
  php5-mysql                                      install
  php5-suhosin                                    install

dpkg --get-selections | grep mysql
  courier-authlib-mysql                           install
  libdbd-mysql-perl                               install
  libmysql++3                                     deinstall
  libmysqlclient16                                install
  mysql-client-5.1                                install
  mysql-client-core-5.1                           install
  mysql-common                                    install
  mysql-server                                    install
  mysql-server-5.1                                install
  mysql-server-core-5.1                           install
  php5-mysql                                      install
  postfix-mysql                                   install

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

Ответы [ 2 ]

5 голосов
/ 17 февраля 2012

Начиная с PHP 5.1 , PDO является частью дистрибутива PHP Core, поэтому pdo.so загружается, поскольку расширение становится избыточным.

0 голосов
/ 03 сентября 2016

В моем случае это помогло: apt-get install --reinstall php5-mysql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...