我遇到了一个很奇怪的情况。
我的网站托管在共享主机上,突然停止了报告致命错误的工作:类'PDO‘未找到
因此,我创建了一个名为test.php的验证文件,并将其放在public_html文件夹中。
test.php:
<?php
if (class_exists('PDO')) {
print "PDO is installed";
}
else {
print "PDO NOT installed";
}
phpinfo();
?>因此,上面的脚本检查PDO类是否存在,然后打印出有关安装和启用什么的php信息。
首先,我在SSH终端上做了一些测试:
然后我在网络浏览器上运行test.php。它返回未安装的PDO,并在phpinfo()打印调用中列出了PDO和PDO_mysql。
是什么导致了这样的行为?
更新: 我已经尝试将下面的扩展行添加到php.ini中,但问题仍然存在。我还确保通过调用get_cfg_var('cfg_file_path')将这些行添加到正确的php.ini文件中。 extension=pdo.so extension=pdo_mysql.so
发布于 2013-04-27 07:39:18
好的,这是我如何解决这个问题,以防其他人遇到同样的问题。
我创建了php.ini文件的副本,删除了原始文件,通过web浏览器刷新了test.php文件,将php.ini文件复制回原来的位置。
这就解决了问题。
发布于 2013-04-27 04:00:03
PHP有两个独立的.ini文件。一个用于命令行,另一个用于非命令行。您可能只在命令行.ini文件中加载了PDO扩展名。找到您的.ini文件并确保您已经加载了PDO扩展名。你在找像下面这样的台词。
extension=pdo.so
extension=pdo_mysql.so如果您为我们提供了您的操作系统,我们可以准确地指导您查找的位置。
发布于 2013-12-25 08:22:58
在Ubuntu13.04中,我不知道其他操作系统是否相同,但是
将pdo文件从
/var/lib/php5/modules/apache2/enabled_by_admin
至
/var/lib/php5/modules/apache2/enabled_by_maint
让php在圣诞节快乐,并在phpinfo()上正确声明它。
https://stackoverflow.com/questions/16248169
复制相似问题