Назад | Перейти на главную страницу

php.ini - Как восстановить pdo.so?

Я недавно установил memcached. Все работало нормально, пока я не перезапустил систему. Понятия не имею, что пошло не так, но после перезапуска некоторые файлы отсутствовали. Основная проблема заключается в том, что у меня отсутствуют файлы pdo.so и pdo_mysql.so.

Я попробовал последовать совету Вот. Это привело меня к следующей ошибке:

Warning: dl(): Unable to load dynamic library 
'/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo.so' -
  /usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo.so: 
    cannot open shared object file: 
      No such file or directory in /root/tmp/moduleEnabled.php on line 6

Я не могу бежать:

pecl install PDO

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

Я побежал:

find / -name pdo.so

И он вернулся ни с чем. Я выполнил ту же команду на другом сервере, и она вернула:

/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo.so

Однако я также читал следующее: «Не используйте это, поскольку PDO был перемещен в ядро ​​(источник php), поэтому это расширение pecl мертво». ... Вот, что наводит меня на мысль, что с версией PHP 5.3.22 мне больше не нужно устанавливать PECL. Если это так, то почему расширение не работает, когда я включаю его в php.ini?

PhpInfo говорит следующее:

Configure Command    './configure' '--disable-fileinfo' '**--disable-pdo**' 
'--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-gd-native-ttf'
'--enable-intl' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' 
'--enable-sockets' '--prefix=/usr' '--with-curl=/opt/curlssl/' 
'--with-freetype-dir=/usr' '--with-gd' '--with-icu-dir=/usr' 
'--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' 
'--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' 
'--with-libexpat-dir=/usr' '--with-libxml-dir=/opt/xml2/' 
'--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' 
'--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-openssl=/usr' 
'--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pic' 
'--with-png-dir=/usr' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-zlib' 
'--with-zlib-dir=/usr'

Очевидно, PDO все еще отключен. Может быть, мне нужно перекомпилировать PHP, чтобы включить его? Как я могу это сделать?

Исходя из вышесказанного, может ли кто-нибудь посоветовать мне, как заставить PDO работать с PHP 5.3.22 на моем Centos Box?

Моя проблема заключалась в том, что я вручную установил PDO на сервер cPanel. Чтобы решить эту проблему, я просто выбрал нужные мне модули в WHM, и проблема была устранена.