【发布时间】:2015-06-24 18:48:35
【问题描述】:
我正在学习 Zend 框架,浏览专辑示例。
当我打开浏览器访问相册模块时,我得到这个错误:
致命错误:未定义的类常量“MYSQL_ATTR_INIT_COMMAND”
经过大量谷歌搜索和堆栈溢出后,PDO 似乎没有激活。
真正困扰我的是,当我从命令行使用 'php -i' 时,我确实看到启用了 PDO。但是 phpinfo() 没有显示 PDO。
我已经尝试了几件事。他们没有工作:
设置“extension_dir”的绝对路径。
将 php 文件夹的路径添加到 'path' 环境变量中。
去掉php + apache,重新安装。
当然,取消注释 extension=php_pdo_mysql.dll。
请帮忙!
【问题讨论】:
-
php -i 是命令行 php。您可能在 web 上下文中运行 phpinfo(),它可以有完全不同的 .ini 文件选项。检查信息输出 - 其中一个部分会告诉您在启动时解析了哪些 .ini 文件。
-
@MarcB,我认为你是对的。唯一的问题是在 phpinfo() 输出中显示 c:\windows,但那里没有 php.ini。这怎么可能? (不解)
-
php.ini 只是覆盖 php 的编译默认值。不需要 .ini - php 只会使用其内部默认值。
-
@MarcB,你是对的。我将 PHPINIDir 指令添加到 apache 的虚拟主机文件中并且它工作。如果您愿意,请提出答案。我会接受的。
标签: php mysql apache zend-framework