php code to test pdo is available?

前端 未结 6 1792
夕颜
夕颜 2020-11-29 08:34

I want to use PDO but I\'m not sure whether my hosting has set it up properly.

How can I test, in PHP, whether it is setup and working for MySQL?

相关标签:
6条回答
  • 2020-11-29 08:47

    Using command line, for PDO:

    php -m|grep -i pdo
    

    For PDO with MySQL support:

    php -m|grep -i pdo_mysql
    

    To install php mysql support, search for the package name (Ubuntu):

    apt-cache search php5*|grep mysql
    

    And install it if not already did (Ubuntu):

    sudo apt-get install php5-mysql
    
    0 讨论(0)
  • 2020-11-29 08:50

    For Windows servers, I've found the following useful for checking which PDO extensions are loaded from the command prompt:

    php -m|findstr -i pdo_

    On my system, that command nets me the following results:

    pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite

    0 讨论(0)
  • 2020-11-29 08:52

    Create a file that contains

    <?php
    
    phpinfo();
    
    ?>
    

    It will show you if PDO (and other features are enabled)

    0 讨论(0)
  • 2020-11-29 08:57

    Aside from using phpinfo() to see if it's correctly listed

    if (!defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO unavailable';
    }
    
    0 讨论(0)
  • 2020-11-29 08:58

    PDO is always installed for php 5.1+. You can check for specific db drivers that are installed or not using phpinfo(); You could try to check for specific drivers using @Mark Baker idea and checking for specific constants;

    var_dump(defined(PDO::MYSQL_ATTR_LOCAL_INFILE)); // mysql
    var_dump(PDO::FB_ATTR_TIME_FORMAT)); // firebird
    

    Note that not all drivers have specific constants defined so phpinfo() remains best solution.

    Using command line you can check using:

    $ php -m
    

    As an alternative of phpinfo() you can use:

    extension_loaded ('PDO' ); // returns boolean
    // or
    extension_loaded('pdo_mysql');
    // or get all extensions and search for a specific one
    get_loaded_extensions(); 
    
    0 讨论(0)
  • 2020-11-29 09:02

    Try this

    print_r(PDO::getAvailableDrivers());
    

    should give applications supported by PHP

    Array ( [0] => mysql [1] => sqlite )
    
    0 讨论(0)
提交回复
热议问题