繁体   English   中英

无法在CentOS上安装PDO

[英]Cannot install PDO on CentOS

我知道在stackoverflow中有几个这个问题的实例,但我找不到解决方案。

我正在使用Apache和PHP 5.3运行CentOS

.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文档上,它基本上说自PHP 5.1以来该软件包在php安装中是标准的。

我将行extension=pdo.so添加到php.ini并重新启动Apache,问题仍然存在。 有什么建议?

我也遇到过类似的问题。 我正在使用codeigniter并且收到“pdo_mysql.so not found”错误并尝试了一切来修复它。 我必须通过谷歌搜索结果的前10页搜索多个查询。 我发现很多人有同样的问题,但由于某些原因,他们都没有答案/修复。 通过所有这些阅读,我了解到“ 从PHP 5.1.0开始默认启用PDO和PDO_SQLITE驱动程序。 ”这让我想到,“也许我应该从我的php中删除extension = pdo_mysql.so和pdo.so行。 ini !“ 我认为php正试图加载一个不再存在的扩展,因为它现在已经内置了。 果然,解决了我所有的php错误。

PHP 5.4.31(cli)(建于2014年8月19日10:38:48)
Zend Engine v2.4.0,版权所有(c)1998-2014 Zend Technologies
服务器版本:Apache / 2.2.27(Unix)
服务器内置:2014年8月19日10:33:30
Cpanel :: Easy :: Apache v3.26.5 rev9999

我很确定你错过了PHP_PDO包。 尝试通过运行以下命令来查找PDO包:

 # rpm -qa| grep "pdo"

我的节目显示php53u-pdo-5.3.26-1.ius.el5

如果您使用的是php 5.3,请尝试

# yum install php53u-pdo

我不知道答案是否为时已晚,但如果有人发现此错误,我会发布。

首先,我在Centos 7中使用yum安装了php-pdo。 我查看了phpinfo,它显示了pdo扩展,但没有显示pdo-mysql。

所以,如果你再安装php-mysql(yum install php-mysql),它会自动安装pdo-mysql扩展。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM