当前位置:  开发笔记 > 编程语言 > 正文

未定义的类常量'MYSQL_ATTR_INIT_COMMAND'与pdo

如何解决《未定义的类常量'MYSQL_ATTR_INIT_COMMAND'与pdo》经验,为你挑选了3个好方法。

我只是有同样的错误(使用PHP 5.2.6),而我所要做的就是启用特定于MySQL的PDO驱动程序:

TL; DR

在您的php.ini文件中,您应该具有以下行(取消注释):

extension=php_pdo_mysql.dll 在Windows上

extension=php_pdo_mysql.so 在Linux/Mac上


更长的解释:

    php.ini在文本编辑器中打开

    例如,它在Windows上的默认路径:( C:\Program Files (x86)\PHP\v5.X\php.ini用你安装的版本代替v5.x)或者C:\Windows\php.ini等等.

    或Linux上:/etc/php5/apache2/php.ini(例如,这是在Ubuntu路径)或/etc/php5/cli/php.ini,/etc/php5/cgi/php.ini

    或者你可以知道这是什么样的:

    php --ini | find /i "Loaded" 在Windows命令提示符或

    php --ini | grep "Loaded" 在Linux/Mac终端中

    使用phpinfo(),并查找"加载配置文件"行

    从以下行的开头删除分号(取消注释):

    ;extension=php_pdo_mysql.dll 在Windows上

    或者;extension=php_pdo_mysql.so在Linux/Mac上

    当然,如果这行不存在,你应该粘贴它

    所以作为结果的预期线应该是这样的php.ini:

    extension=php_pdo_mysql.dll 在Windows上

    或者extension=php_pdo_mysql.so在Linux/Mac上

    您可能需要重新启动Web服务器.

这解决了我的问题.



1> Sk8erPeter..:

我只是有同样的错误(使用PHP 5.2.6),而我所要做的就是启用特定于MySQL的PDO驱动程序:

TL; DR

在您的php.ini文件中,您应该具有以下行(取消注释):

extension=php_pdo_mysql.dll 在Windows上

extension=php_pdo_mysql.so 在Linux/Mac上


更长的解释:

    php.ini在文本编辑器中打开

    例如,它在Windows上的默认路径:( C:\Program Files (x86)\PHP\v5.X\php.ini用你安装的版本代替v5.x)或者C:\Windows\php.ini等等.

    或Linux上:/etc/php5/apache2/php.ini(例如,这是在Ubuntu路径)或/etc/php5/cli/php.ini,/etc/php5/cgi/php.ini

    或者你可以知道这是什么样的:

    php --ini | find /i "Loaded" 在Windows命令提示符或

    php --ini | grep "Loaded" 在Linux/Mac终端中

    使用phpinfo(),并查找"加载配置文件"行

    从以下行的开头删除分号(取消注释):

    ;extension=php_pdo_mysql.dll 在Windows上

    或者;extension=php_pdo_mysql.so在Linux/Mac上

    当然,如果这行不存在,你应该粘贴它

    所以作为结果的预期线应该是这样的php.ini:

    extension=php_pdo_mysql.dll 在Windows上

    或者extension=php_pdo_mysql.so在Linux/Mac上

    您可能需要重新启动Web服务器.

这解决了我的问题.


嗨,我试过这个,但现在我收到警告`PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20151012/php_pdo_mysql.so' - /usr/lib/php/20151012/php_pdo_mysql. so:无法打开共享对象文件:0行上的Unknown中没有此类文件或目录

2> Sverre..:

当我还没有安装时,我在debian6上得到了同样的错误php5-mysql.

所以我安装了它,然后重新启动了apache2

apt-get install php5-mysql
/etc/init.d/apache2 restart

然后错误就消失了.

如果你在Ubuntu上有相同的错误,而不是:

/etc/init.d/apache2 restart  

类型:

service apache2 restart



3> Atli..:

它似乎只能使用mysqlnd驱动程序.
尝试用它代表的整数替换它; 1002,如果我没弄错的话.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有