Не удается установить PDO на CentOS
Я знаю, что есть несколько случаев этого вопроса во всем stackoverflow, но я не нахожу решения.
я запускаю CentOS с Apache и PHP 5.3
A .PHP-скрипт дает мне эту ошибку:
Fatal error: Class 'PDO' not found in ...
Я побежал phpinfo();
и единственное место " pdo "существует на странице в "Configure Command"'--disable-pdo'
линии.
Я попытался #yum install php-pdo
но пакетов не существует.
Я также попытался #pecl install pdo
и я получаю эти ошибки в конце:
/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_stmt_instantiate':
/root/tmp/pear/PDO/pdo_dbh.c:410: error: 'zval' has no member named 'refcount'
/root/tmp/pear/PDO/pdo_dbh.c:411: error: 'zval' has no member named 'is_ref'
/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_stmt_construct':
/root/tmp/pear/PDO/pdo_dbh.c:435: error: 'zend_fcall_info' has no member named 'object_pp'
/root/tmp/pear/PDO/pdo_dbh.c:458: error: 'zend_fcall_info_cache' has no member named 'object_pp'
/root/tmp/pear/PDO/pdo_dbh.c: In function 'zim_PDO_setAttribute':
/root/tmp/pear/PDO/pdo_dbh.c:752: error: 'zval' has no member named 'refcount'
/root/tmp/pear/PDO/pdo_dbh.c: In function 'zim_PDO_getAttribute':
/root/tmp/pear/PDO/pdo_dbh.c:818: error: 'zval' has no member named 'refcount'
/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_hash_methods':
/root/tmp/pear/PDO/pdo_dbh.c:1122: warning: assignment discards qualifiers from pointer target type
/root/tmp/pear/PDO/pdo_dbh.c:1126: warning: assignment discards qualifiers from pointer target type
make: *** [pdo_dbh.lo] Error 1
ERROR: `make' failed
затем на php.net doc в основном говорит, что пакет поставляется стандартным в PHP-установках с PHP 5.1.
я добавил строку extension=pdo.so
на php.ini и перезапустить Apache и проблема сохраняется. Есть предложения?
3 ответов
У меня тоже была аналогичная проблема. Я использую codeigniter и получаю "pdo_mysql.так что не нашел" ошибку и попробовал все исправить. Я искал через первые 10 страниц результатов поиска Google для нескольких запросов. Я нашел тонны людей с теми же проблемами, но по какой-то причине ни у одного из них не было ответа/исправления. Через все это чтение я узнал, что"PDO и драйвер PDO_SQLITE включены по умолчанию с PHP 5.1.0." Это заставило меня задуматься, - Возможно, мне следует ... --1-->удалить расширение=pdo_mysql.так и pdo.Итак, строки из моего php.ini!"Я подумал, что php пытается загрузить расширение, которого больше нет, так как он встроен сейчас. Конечно, решил все мои ошибки php беспорядок.
PHP 5.4.31 (cli) (built: Aug 19 2014 10:38:48)
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
Версия сервера: Apache / 2.2.27 (Unix)
Сервер построен: Aug 19 2014 10:33:30
Cpanel:: легко:: Apache v3.26.5 rev9999
Я уверен, что вам не хватает пакета PHP_PDO. Попробуйте найти пакет PDO, выполнив команду ниже:
# rpm -qa| grep "pdo"
шахта показывает php53u-pdo-5.3.26-1.МСС.el5
Если вы используете php 5.3, попробуйте
# yum install php53u-pdo
Я не знаю, слишком ли поздно для ответа, но я опубликую, если кто-то найдет эту ошибку.
во-первых, я установил php-pdo в Centos 7 с yum. Я просмотрел phpinfo, и он показывает расширение pdo, но не pdo-mysql.
Итак, если вы затем установите php-mysql (yum install php-mysql), он автоматически установит расширение pdo-mysql.