Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation. or
A donation makes a contribution towards the costs, the time and effort that's going
in this site and building.Thank You! Steffen Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Forum Index -> Other Software
| View previous topic :: View next topic
|
Topic: PHP - PDO could not find driver
|
|
Author
Mike1965SA
Joined: 26 Oct 2021 Posts: 5 Location: Australia, Adelaide
|
Posted: Thu 28 Oct '21 14:08 Post subject: PHP - PDO could not find driver
|
|
| Hello all, I am undertaking a tutorial on PHP MySQL and PDO. I have followed, I believe, all the instructions to use PDO in apache. I have Apache 2.4.37, PHP 7.4.23 and MySQL 5.7.24, running on my Win10 pc. I have a simple script to check whether PDO is available or not, and it has an error message saying '
Quote:
| could not find driver
| '. The PHP error log from wamp says,
Quote:
| [28-Oct-2021 11:55:02 UTC] PHP Warning: PHP Startup: Failed to load D:/wamp64/bin/php/php7.4.23/ext/php_ffi, The system cannot find the file specified. in Unknown on line 0 [28-Oct-2021 11:55:03 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_intl' (tried: D:/wamp64/bin/php/php7.4.23/ext/php_intl (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_php_intl.dll (The specified module could not be found.)) in Unknown on line
0 [28-Oct-2021 11:55:03 UTC] PHP Warning: PHP Startup: Failed to load D:/wamp64/bin/php/php7.4.23/ext/php_imap, The system cannot find the file specified. in Unknown on line 0 [28-Oct-2021 11:55:04 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: D:/wamp64/bin/php/php7.4.23/ext/pdo_sqlite (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_pdo_sqlite.dll (The specified module could not be found.)) in Unknown on line 0
[28-Oct-2021 11:55:04 UTC] PHP Warning: PHP Startup: Failed to load D:/wamp64/bin/php/php7.4.23/ext/php_ffi, The system cannot find the file specified. in Unknown on line 0 [28-Oct-2021 11:55:04 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_intl' (tried: D:/wamp64/bin/php/php7.4.23/ext/php_intl (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_php_intl.dll (The specified module could not be found.)) in Unknown on line 0
[28-Oct-2021 11:55:04 UTC] PHP Warning: PHP Startup: Failed to load D:/wamp64/bin/php/php7.4.23/ext/php_imap, The system cannot find the file specified. in Unknown on line 0 [28-Oct-2021 11:55:04 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: D:/wamp64/bin/php/php7.4.23/ext/pdo_sqlite (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_pdo_sqlite.dll (The specified module could not be found.)) in Unknown on line 0
|
The PHP.ini file shows
Quote:
| extension=bz2 extension=curl ;extension=dba extension=com_dotnet ;extension=enchant extension=php_ffi extension=fileinfo ;extension=ftp extension=gd2 extension=gettext extension=gmp extension=php_intl extension=php_imap ;extension=interbase extension=ldap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli ;extension=odbc extension=openssl
;extension=pdo_firebird extension=pdo_mysql ;extension=pdo_oci ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=pdo_odbc ;extension=pdo_pgsql extension=pdo_sqlite ;extension=pgsql ;extension=phpdbg_webhelper ;extension=shmop ; The MIBS data available in the PHP distribution must be installed. ; See
//www.php.net/manual/en/snmp.installation.php ;extension=snmp extension=soap extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=sysvshm ;extension=tidy ;extension=xmlrpc extension=xsl ;extension=zend_test
|
When I run php.exe -m on the command line I get
Quote:
| Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: D:/wamp64/bin/php/php7.4.23/ext/intl (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_intl.dll (The specified module could not be found.)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: D:/wamp64/bin/php/php7.4.23/ext/pdo_sqlite (The specified module could not be found.), D:/wamp64/bin/php/php7.4.23/ext/php_pdo_sqlite.dll (The
specified module could not be found.)) in Unknown on line 0
| along with numerous extensions including
Quote:
| PDO pdo_mysql PDO_ODBC
pdo_pgsql
|
In wamp when I see the php extensions loaded they pdo_mysql is there with a green tick. I have read through posts on this platform, as well as the PHP manual, stackoverflow, phphelp.com and other posts using internet search. All seem to show that I should have the pdo drivers loaded. I am not sure where else to turn for a solution. I have tried different versions of PHP, all with the same result. I reinstalled PHP as well to no avail. Does anyone
have a suggestion that might work?? Many thanks Mike
|
|
Back to top
|
|
Otomatic
Joined: 01 Sep 2011 Posts: 89 Location: Paris, France, EU
|
Posted: Thu 28 Oct '21 16:14 Post subject:
|
|
| Hi, Apache 2.4.37 is Wampserver 3.1.7 released over two years ago with PHP 7.3.1 at the most.
If you want to use more recent PHP versions like PHP 7.4.23, you also need to upgrade Wampserver to support the latest versions of PHP and Apache. We are at Wampserver 3.2.5 and Apache 2.4.51. Upgrade Wampserver to 3.2.5 and use Apache 2.4.51. Everything is on
//wampserver.aviatechno.net Your problem is only a problem of non updates. PHP 7.4 support dates from Wampserver 3.2.0 It looks like you did not install PHP 7.4.23 from the addon since it requires Wampserver 3.2.5 to be installed.
|
|
Back to top
|
|
Mike1965SA
Joined: 26 Oct 2021 Posts: 5 Location: Australia, Adelaide
|
Posted: Sat 30 Oct '21 2:49 Post subject:
|
|
| thanks
|
|
Back to top
|
|
Mike1965SA
Joined: 26 Oct 2021 Posts: 5 Location: Australia, Adelaide
|
Posted: Sat 30 Oct '21 3:55 Post subject:
|
|
| upgraded/updated all those things to the numbers you suggested, and the error remains. Is there something else??
|
|
Back to top
|
|
Otomatic
Joined: 01 Sep 2011 Posts: 89 Location: Paris, France, EU
|
Posted: Sat 30 Oct '21 15:16 Post subject:
|
|
| Hi, There is no problem with Apache 2.4.51 and PHP 7.4.25. All checked extensions are seen loaded by get_loaded_extensions() and there is no error in php_error.log. And in CLI mode (Right-Click -> Tools -> Command Windows -> Command windows PHP) the command php -m is:
Code:
| Microsoft Windows [version 10.0.19043.1320] (c) Microsoft Corporation. Tous droits r�serv�s. E:\wamp64\bin\php\php7.4.25>php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dom exif fileinfo filter gd gettext gmp hash iconv imap intl json ldap libxml mbstring mysqli mysqlnd openssl pcre PDO pdo_mysql
pdo_sqlite Phar readline Reflection session SimpleXML soap sockets SPL standard tokenizer xml xmlreader xmlrpc xmlwriter xsl zip zlib
[Zend Modules] E:\wamp64\bin\php\php7.4.25>
| We don't see FFI extensions, ZENDopcache and xdebug. Why ? Because the first case is for PHP Web, i.e. from:
Code:
| LoadModule php7_module "${INSTALL_DIR}/bin/php/php7.4.25/php7apache2_4.dll"
| du fichier httpd.conf and therefore depends on the "php.ini" file located in: PHPIniDir "${APACHE_DIR}/bin" and this "file" is (dir php.ini):
Code:
| E:\wamp64\bin\apache\apache2.4.51\bin>dir php.ini 30/10/2021 14:32 <SYMLINK> php.ini [E:/wamp64/bin/php/php7.4.25/phpForApache.ini]
| We can see that this "php.ini" is not a real file but a symbolic link to the real phpForApache.ini file of the PHP version used. On the other hand, when we use the CLI mode and the php -m command, it will be the php.ini file that will be used and not phpForApache.ini. So, if you want extensions in CLI mode, you have to validate them directly in the php.ini file and not through the Wampmanager menus.
|
|
Back to top
|
|
Mike1965SA
Joined: 26 Oct 2021 Posts: 5 Location: Australia, Adelaide
|
Posted: Sun 31 Oct '21 9:16 Post subject:
|
|
| So what do I attempt to be able to use PHP-PDO??
|
|
Back to top
|
|
Mike1965SA
Joined: 26 Oct 2021 Posts: 5 Location: Australia, Adelaide
|
Posted: Sun 31 Oct '21 10:37 Post subject:
|
|
| I found the error. I was using mysqli:host= instead of mysql:host=
Quote:
| try { $conn = new PDO("mysqli:host=$serverName;dbname=myDataBase", $userName, $password); //set PDO error mode to exception $conn ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "PDO Connected successfully"; echo"<br/><br/>"; } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage()." , PDO not available"; }
|
Not really sure why that made a difference but it did. Many Thanks
|
|
Back to top
|
|
Topic: PHP - PDO could not find driver
| View previous topic :: View next topic
|
Forum Index -> Other Software
|
|
Where is PHP ini file in wamp64?
Installation on WAMP.
Extract the library from the archive to get the Phalcon DLL:.
Copy the file php_phalcon. ... .
Edit the php.ini file, it is located at C:\wamp\bin\php\php5.5.12\php.ini . ... .
Also edit the php.ini file, which is located at C:\wamp\bin\apache\apache2.4.9\bin\php.ini ..
Where is the location of PHP ini?
user. ini file is the default configuration file for running applications that require PHP. It is used to control variables such as upload sizes, file timeouts, and resource limits. This file is located on your server in the /public_html folder.
Where is PHP ini in WampServer?
It is located at installdir/php/etc/php. ini. For example, to modify the default upload limit for PHP, update the PHP configuration file following these instructions.
How do I enable PHP ini?
To configure a PHP setting.
In Windows Explorer, open your PHP installation folder, for example C:\PHP ..
In a text editor, open the php. ini file..
Search the file for the setting you want to change. ... .
Save and close the php. ... .
Recycle the IIS Application Pools for PHP to pick up the configuration changes..