How to fix PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll'?
Solution 1
As Darren commented, Apache don't understand php.ini
relative paths in Windows.
To fix it, change the relative paths in your php.ini
to absolute paths.
extension_dir="C:\full\path\to\php\ext\dir"
Solution 2
Use absolute path:
extension_dir="C:\full\path\here"
Solution 3
If you are using laragon open the php.ini
In the interface of laragon menu-> php-> php.ini
when you open the file look for ; extension_dir = "./"
create another one without **; ** with the path of your php version to the folder ** ext ** for example
extension_dir = "C: \ laragon \ bin \ php \ php-7.3.11-Win32-VC15-x64 \ ext"
change it save it
Solution 4
- Check if compatible Mysql for your PHP version is correctly installed. (eg. mysql-installer-community-5.5.40.1.msi for PHP 5.2.10, apache 2.2 and phpMyAdmin 3.5.2)
- In your
php\php.ini
set your loadable php extensions path (eg.extension_dir = "C:\php\ext"
) (https://drive.google.com/open?id=1DDZd06SLHSmoFrdmWkmZuXt4DMOPIi_A) - (In your
php\php.ini
) check ifextension=php_mysqli.dll
is uncommented (https://drive.google.com/open?id=17DUt1oECwOdol8K5GaW3tdPWlVRSYfQ9) - Set your php folder (eg.
"C:\php"
) and php\ext folder (eg."C:\php\ext"
) as your runtime environment variable path (https://drive.google.com/open?id=1zCRRjh1Jem_LymGsgMmYxFc8Z9dUamKK) - Restart apache service (https://drive.google.com/open?id=1kJF5kxPSrj3LdKWJcJTos9ecKFx0ORAW)
Solution 5
maybe useful for somebody, I got next problem on windows 8, apache 2.4, php 7+.
php.ini conf>
extension_dir="C:/Server/PHP7/ext"
php on apache works ok but on cli problem with libs loading, as a result, I changed to
extension_dir="C:/server/PHP7/ext"
Jaylen
Updated on July 10, 2022Comments
-
Jaylen almost 2 years
I currently have PHP 5.5.12 and Apache 2.4 installed on Windows Server 2008 R2. Everything is running perfectly with no issue/warnings.
What I have done is copied the same Apache file/configuration to another server. I copied the
C:\PHP
directory and then theC:\Apache24
directory and pasted them into the new server.Then I installed the Apache with one change (ie
httpd -k install
.) I changed the port number from 80 to 8877. The Apache is working with no issue and it is running on the 8877 port. I can also open the default page by going to SERVER_IP_ADDRESS:8877 and it works.But, PHP is not working as it should. In the error.log file from the Apache server I get the warning listed below
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
I can't seem to figure out why I get this error? All the .dll files that the warning is stating "The specified module could not be found" do exists in the C:\PHP\ext directoryphp
The PHP extensions are located in
C:\php\ext
Inside the file php.ini I have this variable
extension_dir = "ext"
here is a directory listing of the ext folder
Volume in drive C is OS Volume Serial Number is C63C-1D75 Directory of C:\php\ext 07/29/2014 06:42 PM <DIR> . 07/29/2014 06:42 PM <DIR> .. 04/30/2014 02:46 PM 66,560 php_bz2.dll 04/30/2014 02:46 PM 72,704 php_com_dotnet.dll 04/30/2014 02:46 PM 507,392 php_curl.dll 04/30/2014 02:46 PM 18,944 php_enchant.dll 04/30/2014 02:46 PM 43,008 php_exif.dll 04/30/2014 02:46 PM 2,679,808 php_fileinfo.dll 04/30/2014 02:46 PM 1,358,848 php_gd2.dll 04/30/2014 02:46 PM 40,960 php_gettext.dll 04/30/2014 02:46 PM 240,128 php_gmp.dll 04/30/2014 02:46 PM 831,488 php_imap.dll 04/30/2014 02:46 PM 65,024 php_interbase.dll 04/30/2014 02:46 PM 261,632 php_intl.dll 04/30/2014 02:46 PM 179,200 php_ldap.dll 04/30/2014 02:46 PM 1,239,552 php_mbstring.dll 04/30/2014 02:46 PM 36,864 php_mysql.dll 04/30/2014 02:46 PM 88,576 php_mysqli.dll 04/30/2014 02:46 PM 141,824 php_oci8.dll 04/30/2014 02:46 PM 142,336 php_oci8_11g.dll 04/30/2014 02:46 PM 120,320 php_opcache.dll 04/30/2014 02:46 PM 72,704 php_openssl.dll 04/30/2014 02:46 PM 21,504 php_pdo_firebird.dll 04/30/2014 02:46 PM 24,576 php_pdo_mysql.dll 04/30/2014 02:46 PM 23,040 php_pdo_oci.dll 04/30/2014 02:46 PM 20,480 php_pdo_odbc.dll 04/30/2014 02:46 PM 27,648 php_pdo_pgsql.dll 04/30/2014 02:46 PM 465,408 php_pdo_sqlite.dll 08/28/2012 04:15 PM 186,520 php_pdo_sqlsrv_54_ts.dll 06/26/2013 03:22 PM 166,400 php_pdo_sqlsrv_55_ts.dll 04/30/2014 02:46 PM 90,112 php_pgsql.dll 04/30/2014 02:46 PM 12,288 php_shmop.dll 04/30/2014 02:46 PM 385,536 php_snmp.dll 04/30/2014 02:46 PM 236,544 php_soap.dll 04/30/2014 02:46 PM 54,784 php_sockets.dll 04/30/2014 02:46 PM 617,472 php_sqlite3.dll 08/28/2012 04:15 PM 204,952 php_sqlsrv_54_ts.dll 06/26/2013 03:22 PM 183,296 php_sqlsrv_55_ts.dll 04/30/2014 02:46 PM 31,744 php_sybase_ct.dll 04/30/2014 02:46 PM 236,544 php_tidy.dll 04/30/2014 02:46 PM 51,712 php_xmlrpc.dll 04/30/2014 02:46 PM 231,936 php_xsl.dll 40 File(s) 11,480,368 bytes 2 Dir(s) 83,103,895,552 bytes free
When I try to access the website I get this error
Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
which is because the extensions are not loaded.
I am assuming that the configuration are correct since the same configuration are working on a different server.
How can I fix this PHP Startup issue?