未定义class常量'MYSQL_ATTR_INIT_COMMAND'; phpinfo 显示没有 PDO 扩展,但是 php -i (php -m) 有
Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'; phpinfo shows no PDO extensions, but php -i (php -m) do
我正在学习 Zend 框架,正在学习 Album 示例。
当我打开浏览器访问相册模块时,出现此错误:
Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
经过大量谷歌搜索和 Whosebuging 后,PDO 似乎未激活。
真正让我烦恼的是,当我从命令行使用 'php -i' 时,我确实看到 PDO 已启用。但是 phpinfo() 显示没有 PDO。
我已经尝试了几件事。他们没有工作:
设置绝对路径为'extension_dir'。
正在将 php 文件夹的路径添加到 'path' 环境变量。
删除php + apache,重新安装。
当然,取消注释扩展名=php_pdo_mysql.dll.
请帮忙!
感谢 Mark B。他在评论中提出了正确的答案。
浏览器中带有 phpinfo() 的 .php 文件显示 php 从 C:\Windows 加载 php.ini,但那里我的C:\Windows下没有php.ini。之所以这样是因为 php.ini 覆盖了 php 的编译默认值。所以我看到了 phpinfo() 的编译默认值。
我在虚拟主机中使用 PHPIniDir 指向包含 php.ini 文件的实际文件夹。然后我看到了PDO扩展,一切正常。
PS:马克,如果你 post 你的回答,我会删除我的并接受你的。
我正在学习 Zend 框架,正在学习 Album 示例。
当我打开浏览器访问相册模块时,出现此错误:
Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
经过大量谷歌搜索和 Whosebuging 后,PDO 似乎未激活。
真正让我烦恼的是,当我从命令行使用 'php -i' 时,我确实看到 PDO 已启用。但是 phpinfo() 显示没有 PDO。
我已经尝试了几件事。他们没有工作:
设置绝对路径为'extension_dir'。
正在将 php 文件夹的路径添加到 'path' 环境变量。
删除php + apache,重新安装。
当然,取消注释扩展名=php_pdo_mysql.dll.
请帮忙!
感谢 Mark B。他在评论中提出了正确的答案。
浏览器中带有 phpinfo() 的 .php 文件显示 php 从 C:\Windows 加载 php.ini,但那里我的C:\Windows下没有php.ini。之所以这样是因为 php.ini 覆盖了 php 的编译默认值。所以我看到了 phpinfo() 的编译默认值。
我在虚拟主机中使用 PHPIniDir 指向包含 php.ini 文件的实际文件夹。然后我看到了PDO扩展,一切正常。
PS:马克,如果你 post 你的回答,我会删除我的并接受你的。