如何确定PHP中是否启用了PDO?

H. *_*nce 34 php pdo

是否有PHP命令可用于确定PDO是启用还是禁用?

我知道我手动运行phpinfo()和眼球,但我有一个脚本我运行各种Web服务器,显示服务器的选定PHP配置设置.

所以我期待看看是否有我可以使用的命令.

Sal*_*bas 55

确定将使用extension_loaded函数的正确方法: -

if ( extension_loaded('pdo') ) {
    .......
}
Run Code Online (Sandbox Code Playgroud)

您可能还想使用以下方法检查特定于数据库的PDO驱动程序: -

if ( extension_loaded('pdo_<database type here>') ) { // e.g., pdo_mysql
    .......
}
Run Code Online (Sandbox Code Playgroud)

  • 比如`pdo_firebird`,`pdo_mysql`,`pdo_oci`,`pdo_odbc`,`pdo_pgsql`,`pdo_sqlite`,`pdo_sqlite_external` (6认同)

Gol*_*rol 40

检查该类是否存在:

if (class_exists('PDO'))
Run Code Online (Sandbox Code Playgroud)

我感谢支持和我仍然得到的所有赞成,但请检查萨尔曼阿巴斯的答案,以正确的方式来做到这一点.

  • 除非一些疯狂的图书馆开发人员决定命名他的*poly-device operator*class`PDO`. (9认同)
  • @AJ:将'false`添加为第二个参数不是更好吗?如果OP只是纯粹想要检查是否存在,而不是同时自动加载该类,我的意思是. (3认同)

小智 8

只需从命令提示符运行命令php -m,它将显示为PHP安装的模块列表


Ali*_*xel 6

您有两种选择:

if (extension_loaded('pdo')) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

或者(这个不是100%可靠,因为它可以在用户级类中实现):

if (class_exists('PDO', false)) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

就个人而言,我更喜欢第一种选择.