【问题标题】:undefined class constant 'mysql_attr_init_command' in MAMP using php 5.4.4使用 php 5.4.4 在 MAMP 中未定义的类常量“mysql_attr_init_command”
【发布时间】:2013-07-02 19:15:48
【问题描述】:

我已经看到处理 php 5.3 中的错误的其他 SO 问题,并在位于 MAMP/conf/php5.4.4 的 php.ini 文件中启用了 php_pdo_mysql。当我查看 phpInfo 时,在 PDO 下它只启用了 sqlite 驱动程序。如果有人对如何进一步解决此问题有任何建议,将不胜感激。

这是有问题的行:

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');

我包含一些额外信息,因为我认为它适用于我迄今为止尝试过的解决方案

try 
{ 
    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options); 
} 
catch(PDOException $ex) 
{ 
    die("Failed to connect to the database: " . $ex->getMessage()); 
} 

我尝试用字符串值替换 PDO 对象的所有变量参数,即。 {$host} 变为 'localhost' 等,并在 catch 块中收到错误消息,其中 $ex->getMessage() 为 'could not find driver'

【问题讨论】:

  • 请先提供一些代码。没有上下文,这个问题不容易理解。
  • 这是bug report。有人说你应该安装PDO_MYSQL。至少,它不在predefined constants of PDO的列表中。
  • 这就是我不明白的——我没有注释 .ini 文件的 php_pdo_mysql 部分,但 mysql 没有出现在 phpinfo() 的 PDO 部分下
  • 取消注释模块/扩展的选项与启用它不同。根据您运行的系统,可能有一种“托管”方式来启用它(例如 Debian/Ubuntu 下的 phpenmod),但基本上它需要在构建 PHP 时编译(例如使用 @ Gentoo 上的 987654328@ 标志)或使用extension ini parameter.so/.dll 文件加载。
  • 关于启用模块的“托管”方式...我听说在 MAMP 中 .ini 文件是在启动时生成的,所以我假设有某种配置文件可以修改.谁能证实这一点? MAMP 网站上的文档比较少。

标签: php pdo mamp


【解决方案1】:

查看此 DSN:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1;<strong>charset=utf8</strong>';

而不是 MySQL attr init 命令。

【讨论】:

  • 你确定修改了正确的ini文件吗?例如在 WAMP Server 中有两个 php.ini 文件:一个用于 cli 模式,第二个用于 apache。
  • 我做了一些搜索,在 MAMP/bin/php/php5.4.4/conf 下找到了另一个 php.ini 文件,打开它,它是空白的...尝试从 MAMP/ 粘贴代码conf/php5.4.4,重新启动 MAMP,它运行良好。 phpinfo() 的 PDO 部分现在拥有我所有启用的数据库。不要误会我的意思,我很高兴它现在可以工作,但是为什么呢?我一直在修改 MAMP/conf/php5.4.4 中的 php.ini 文件。就像我上面说的,MAMP 网站上的文档是缺乏的,任何人都可以解释一下吗?
  • 我认为有一个像我上面写的。
【解决方案2】:

我要做的是:Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' with pdo

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart

=> 问题已解决

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2011-01-26
    • 2016-10-06
    • 1970-01-01
    • 2015-03-16
    • 2016-08-19
    相关资源
    最近更新 更多