mysql_attr_init_command 未定义_thinkphp 解决 “Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'“的办法-森林的个...

如果遇到了 Undefined class constant 'MYSQL_ATTR_INIT_COMMAND,就应该考虑php是否安装了和运行了"pdo-mysql"。pdo - php data ojbectphp数据对象。

f99e02e580b7a5001f863bd1197db2e4.pngthinkphp没有安装pdo-mysql

可以在phpinfo中查看是否加载了 pdo_mysql,如果加载了,应该就不会有这个问题。

0db906e7975ca4d2b60f3f84c4892113.pngpdo-mysql

linux环境下从源代码安装的话,默认是会安装pdo(--disable-pdo 可以禁止) , 但是 php-mysql(--with-pdo-mysql )默认,没有编译。所以编译的时候需要 --with-pdo-mysql

./configure -h | grep pdo

--disable-pdo Disable PHP Data Objects support

--with-pdo-dblib=DIR PDO: DBLIB-DB support. DIR is the FreeTDS home directory

--with-pdo-firebird=DIR PDO: Firebird support. DIR is the Firebird base

--with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory

--with-pdo-oci=DIR PDO: Oracle OCI support. DIR defaults to \$ORACLE_HOME.

Use --with-pdo-oci=instantclient,prefix,version

--with-pdo-oci=instantclient,/usr,11.2

--with-pdo-oci=instantclient,/usr,10.2.0.4

--with-pdo-odbc=flavour,dir

--with-pdo-odbc=unixODBC

--with-pdo-odbc=generic,dir,libname,ldflags,cflags

When built as 'shared' the extension filename is always pdo_odbc.so

--with-pdo-pgsql=DIR PDO: PostgreSQL support. DIR is the PostgreSQL base

--without-pdo-sqlite=DIR

如果是windows环境查看,直接加载这两个dll,然后重启。

extension=php_pdo.dll

extension=php_pdo_mysql.dll

--with-pdo-mysql

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值