How do I install PDO drivers for PHP on Windows?

前端 未结 2 963
南旧
南旧 2021-01-18 09:22

I installed Apache, PHP 5.6 and MySQL 5.7 on a Windows server.

In php.ini, I enabled the following:

extension=php_mysql.dll
extension=php_mysqli.dll
         


        
相关标签:
2条回答
  • 2021-01-18 09:34

    In my apache httpd.conf I have (note I have # as remmed out because it took me 1 hour at least). So I left it to show me how not to do it.

    #PHPIniDir 'c:\apps\php\'
    #PHPIniDir "C:\Apache24\~PHP_download\php-5.6.11-Win32-VC11-x64\"
    PHPIniDir "C:/Apache24/~PHP_download/php-5.6.11-Win32-VC11-x64"
    
    #LoadModule php5_module "c:/apps/php/php5apache2_2.dll"
    LoadModule php5_module "C:/Apache24/~PHP_download/php-5.6.11-Win32-VC11-x64/php5apache2_4.dll"
    
    AddHandler application/x-httpd-php .php
    

    In the above folder (and seen below) I have these files:

     Directory of C:\Apache24\~PHP_download\php-5.6.11-Win32-VC11-x64
    
    07/24/2015  12:33 PM    <DIR>          .
    07/24/2015  12:33 PM    <DIR>          ..
    07/24/2015  12:32 PM            69,632 deplister.exe
    07/24/2015  12:32 PM    <DIR>          dev
    07/24/2015  12:32 PM    <DIR>          ext
    07/24/2015  12:32 PM    <DIR>          extras
    07/24/2015  12:32 PM         1,290,752 glib-2.dll
    07/24/2015  12:32 PM            16,384 gmodule-2.dll
    07/24/2015  12:32 PM        25,337,856 icudt54.dll
    07/24/2015  12:32 PM         1,907,712 icuin54.dll
    07/24/2015  12:32 PM            51,200 icuio54.dll
    07/24/2015  12:32 PM           256,000 icule54.dll
    07/24/2015  12:32 PM            50,176 iculx54.dll
    07/24/2015  12:32 PM            63,488 icutest54.dll
    07/24/2015  12:32 PM           195,072 icutu54.dll
    07/24/2015  12:32 PM         1,369,088 icuuc54.dll
    07/24/2015  12:32 PM            79,826 install.txt
    07/24/2015  12:32 PM    <DIR>          lib
    07/24/2015  12:32 PM         1,823,232 libeay32.dll
    07/24/2015  12:32 PM            46,592 libenchant.dll
    07/24/2015  12:32 PM           160,256 libpq.dll
    07/24/2015  12:32 PM           237,056 libsasl.dll
    07/24/2015  12:32 PM           201,728 libssh2.dll
    07/24/2015  12:32 PM             3,286 license.txt
    07/24/2015  12:32 PM           518,643 news.txt
    07/24/2015  12:32 PM                43 phar.phar.bat
    07/24/2015  12:32 PM            53,242 pharcommand.phar
    07/24/2015  12:32 PM            58,368 php-cgi.exe
    07/24/2015  12:32 PM            30,720 php-win.exe
    07/24/2015  12:32 PM            77,824 php.exe
    07/24/2015  12:32 PM             2,523 php.gif
    08/29/2015  02:28 PM            74,572 php.ini
    07/24/2015  12:32 PM            74,334 php.ini-development
    07/24/2015  12:32 PM            74,365 php.ini-production
    07/24/2015  12:32 PM            31,744 php5apache2_4.dll
    07/24/2015  12:32 PM           845,830 php5embed.lib
    07/24/2015  12:32 PM           167,936 php5phpdbg.dll
    07/24/2015  12:32 PM         8,269,312 php5ts.dll
    07/24/2015  12:32 PM           180,224 phpdbg.exe
    07/24/2015  12:32 PM            21,360 readme-redist-bins.txt
    07/24/2015  12:32 PM             3,634 snapshot.txt
    07/24/2015  12:32 PM           353,280 ssleay32.dll
    

    And in that same folder, in the php.ini file I have the following block that are pdo-related, with the ones in force not remmed out with a ;

    ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll

    then I have a phpinfo_xyz.php file for testing purposes only (read: delete it when you are done) that contains

    <?php phpinfo(); ?>
    

    Restart apache, point to that file from a browser and notice the following blocks similar to the following three.

    ...

    ...

    In the first PHP picture above from phpinfo(), it was the getting the path right in httpd.conf that took the longest. That is why I left in the wrong path attempts seen in this Answer.

    So it wasn't until Loaded Configuration File showed up decent that it had a chance.

    Good luck. It was not fun. Half the problem was there were like 2 or 4 options of which original download to perform. Sadly I think it took me 2 or 3 hours all together. But I am not as smart as the rest of you.

    0 讨论(0)
  • 2021-01-18 09:53

    The problem was the extension_dir directive did not work as a relative path. Changing from extension_dir="ext" to extension_dir="c:/phpinstall_path/ext" fixed the problem.

    0 讨论(0)
提交回复
热议问题