我添加了以下php.ini(这是文件的100%):
upload_max_filesize = 200M
post_max_size = 200M
session.gc_maxlifetime = 6000
max_execution_time = 600
当它出现时,phpinfo()在configure命令中列出PDO但不在其他地方。驱动程序,API版本和SQLite版本都消失。当查询开始失败且“未找到”类'PDO'时,我发现了这一点。
如果删除php.ini,我会得到不同的结果,请参阅下文。这是在共享服务器上。我该怎么办?我绝对必须修改php.ini。
答案 0 :(得分:3)
如果您的ini文件只包含那些vars,它只会覆盖它们并使用其他值的主值,但在大多数情况下,默认情况下禁用pdo,mysqli,mbstring,sqlite等扩展来节省资源,现在大多数共享主机都让你启用它们。
答案 1 :(得分:2)
我遇到了同样的问题。我的解决方案是在php.ini中指示可加载扩展文件夹的行不正确。
我改变了:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/home/mycmecre/public_html/php_extensions"
;extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
到
; Directory in which the loadable extensions (modules) reside.
;extension_dir = "/home/mycmecre/public_html/php_extensions"
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
和PDO神奇地为我加载。希望这可以帮助某人,因为我需要花费数小时才能弄明白,而且显然我的网络托管技术支持时间更长,因为他们还没有回电话。
答案 2 :(得分:1)
如果忽略php.ini
中的扩展程序(例如PDO)会导致扩展程序被禁用。
我建议您抓取一个示例/默认php.ini
文件并添加修改。以下是关于样本php.ini
s,https://stackoverflow.com/a/9602645/1349295的上一篇SO帖子。