我知道在整个stackoverflow中有几个这个问题的例子,但我没有找到解决方案。
我正在运行带有Apache和PHP 5.3的CentOS
.php脚本给了我这个错误:
Fatal error: Class 'PDO' not found in ...
我运行了phpinfo();
,页面上唯一存在的"pdo"位置是在"配置命令"'--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,问题仍然存在。有什么建议吗?
我也遇到了类似的问题。我正在使用代码点火器,并收到"pdo_mysql.so 未找到"错误,并尝试了一切来修复它。我必须通过谷歌搜索结果的前 10 页进行搜索以进行多个查询。我发现很多人有同样的问题,但由于某种原因,他们都没有答案/修复。通过所有这些阅读,我了解到">PDO和PDO_SQLITE驱动程序从PHP 5.1.0开始默认启用。这让我想到,"也许我应该从我的 php.ini 中删除扩展名=pdo_mysql.so 和 pdo.so 行!我认为 php 正在尝试加载一个不再存在的扩展,因为它现在内置了。果然,解决了我所有的php错误混乱。
PHP 5.4.31 (cli( (构建时间: Aug 19 2014 10:38:48(
Zend Engine v2.4.0, 版权所有 (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.ius.el5
如果您使用的是php 5.3,请尝试
# yum install php53u-pdo
现在回答是否为时已晚,但如果有人发现此错误,我会发布。
首先,我在 Centos 7 中安装了 php-pdo,并带有 yum。我查看了phpinfo,它显示了pdo扩展,但没有pdo-mysql。
因此,如果您随后安装 php-mysql(yum install php-mysql(,它将自动安装 pdo-mysql 扩展。