php的php.ini文件被我不小心删除之后,恢复的时候忘记了配置pdo_dblib,导致访问微软mssql数据库的时候一直报错,没有发现原因,直到最后发现是因为没有添加pdo_dblib扩展,注意这个扩展如果没有在OSX和linux中安装会导致你访问微软mssql数据库时报错,具体的错误是现实目前的配置不支持访问此数据库,类似这样子。
在windows底下与此驱动相对应的是,
For MSSQL
If you want to use MSSQL with Medoo under PHP platform, you need to install
pdo_sqlsrv PHP extension for Windows or
pdo_dblib for Liunx/UNIX. pdo_mssql extension is deprecated and will be removed from PHP.
具体可以参考这里:http://medoo.in/api/new。是在查看medoo的文档时突然发现了自己本地的问题,谢谢medoo了~~
安装之后phpinfo如下,数据库可以正常访问:
pdo_dblib
PDO Driver for FreeTDS/Sybase DB-lib | enabled |
---|---|
Flavour | freetds |
最后,这个问题是如果访问数据库会有一定的延迟,然后就报错,所以以后如果发现数据库访问要等那么几秒之后又挂掉又报数据库错误的话,可以认为也许是pdo_dblib.so出了问题。因为如果是数据库其它错误,可能访问之后就可以马上就可以报错,只有这种错误是需要等待几秒钟的。