Unable to load dynamic library php_ldap.dll - php

I've looked at many of the previous questions, but I'm still unable to get this issue fixed. I've installed PHP Version 5.4.9 and Apache 2.4.12 in windows - 64Bit. When I start the service I get the following error :
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\app\php\ext\php_ldap.dll' - The specified module could not be found in Unknown on line 0.
The path where PHP is : D:\app\php
My extension path in php.ini is : extension_dir = D:\app\php\ext
Path where libeay32.dll and ssleay32.dll is : D:\app\php
I referred to the Questions posted in the link below :
Link 1
Link 2
Link 3
yet nothing seems to work. Appreciate any help.

after enabling extension =php_ldap.dll in php.ini
you must add following dll to system32 in windows
copy libsasl.dll into system32 folder
steps:
php.ini
enable
;extension =php_ldap.dll --> extension =php_ldap.dll
copy libsasl.dll from php folder and paste it in system32
windows-->system32--> paste libsasl.dll
Incase it does not work and also add libeay32.dll and ssleay32.dll.

Try copying libeay32.dll,ssleay32.dll and libeay32.dll in sysWow64 and Restart the machine. It should work.

with Win10, Apache 2.4.41x64 and php 7.3.8x64 the following worked for me:
overwrite these dlls in Apache/bin folder with the files from php folder
libssl-1_1-x64.dll
libcrypto-1_1-x64.dll
also added libsasl.dll
Do not need to change any system folder content.
Of course the the right php.ini settings are crucial (enable extension, set extension path).
Then restart Apache.

For Windows 10
copy a file from 'xampp\php\libsasl.dll' and paste it into 'xampp\apache\bin'
After this restart Apache server once.

Related

Curl not enable wamp [duplicate]

I'm running PHP 5.2.3 on Windows 2000 Server with IIS 5. I'm trying
to get cURL working, so in my php.ini file, I have this line:
extension_dir ="F:\PHP\ext"
And later, I have:
extension=php_curl.dll
The file F:\PHP\ext\php_curl.dll exists, but when I try to run any PHP
script, I get this in the error log:
PHP Warning: PHP Startup: Unable to load dynamic library 'F:\PHP\ext
\php_curl.dll' - The specified module could not be found.
in Unknown on line 0
Problem solved!
Although the error message said The specified module could not be found, this is a little misleading -- it's not that it couldn't find php_curl.dll, but rather it couldn't find a module that php_curl.dll required. The 2 DLLs it requires are libeay32.dll and SSLeay32.dll.
So, you have to put those 2 DLLs somewhere in your PATH (e.g., C:\Windows\system32). That's all there is to it.
However, even that did not work for me initially. So I downloaded the Windows zip of the latest version of PHP, which includes all the necessary DLLs. I didn't reinstall PHP, I just copied all of the DLLs in the "ext" folder to my PHP extensions folder (as specified in the extension_dir variable in php.ini), and I copied the versions of libeay32.dll and SSLeay32.dll from the PHP download into my System32 directory.
I also did an iisreset, but I don't know if that was necessary.
libeay32.dll and ssleay32.dll have to be path-accessible for php_curl.dll to work correctly.
In Control Panel -> Search -> Advanced System Settings and use the button Environment Variables.
Under System Variables find Path add the c:/php folder (or whatever path) and restart Apache.
A tip is to use the WAMP-installer. Everything just works. It's not IIS though - so if it is important - you should ignore my advice. ;)
EDIT: I saw that you found the solution so I voted it up. +1
I keep having same problem although i did the suggestion above and many others suggested on the internet i get
Sorry, but this plugin requires libcurl to be activated on your
server.
When i try to activate my plugin.
Edited: I was using php 5.3.13 had win64 windows 7 and none of the soln was working for me.
1.I had tried to copy the libeay32.dll SSLeay32.dll in windows\system32 folder did not work
2. Edited and uncommented both php.ini files did not work
3. Activated php_curl in php extensions did not work
4. Copied and replaced several times the www.anindya.com version of php_curl.dll but seems i was downloading the wrong version of this. The version that worked for me was in Fixed curl extensions section the second file php_curl-5.3.13-VC9-x64
Hope this will help anyone else
Faced this problem when I upgraded the php in UwAmp to 7.2.*. The only solution that worked for me was to download the latest version of apache at the time (Apache/2.4.37 (Win32)) and replace the one that came with UwAmp. That also involved editing the sample httpd.conf to produce an httpd_uwamp.conf file. UwAmp needs this template to then generate the actual httpd.conf when it starts up. All other suggestions above didn't resolve it for me unfortunately. Also note that as of OpenSSL 1.1, libeay32.dll and ssleay32.dll are no longer required (see http://php.net/manual/en/curl.installation.php)
In your case just add "F:\PHP\ext" to Environment Variable "path".

Cannot get LDAP extension enabled on new PHP IIS server

I have a new server at work, installed PHP 5.4.21 on it yesterday, got SQLSRV working this morning but now I'm stuck getting LDAP enabled. It's not showing in phpinfo(). This is my php.ini file that is in C:\PHP which is where phpinfo() says is the correct directory: http://pastebin.com/yWv9gRNT
I have uncommented extension=php_ldap.dll (near the bottom), I have the dll in the ext folder that is linked in the php.ini file, I have restarted IIS numerous times, I have even copied all DLLs to Windows\System32 folder as recommended on some forums (including libsasl.dll libeay32.dll & ssleay32.dll) & restarted server. Server is Windows 2008 R2 running IIS 7.5.
Add two other dll libeay32.dll and ssleay32.dll and compile with --with-ldap
Step by step:
1 Add extension = php_ldap.dll in php.ini
2 Make sure that you're editing the right php.ini by checking the output of phpinfo()
3Check the php.ini file for the location of your extensions directory
4Check that php_ldap.dll is located in that directory
5 Find the files libeay32.dll and ssleay32.dll and add their directory to the Windows PATH
6 Reboot server. If LDAP is enabled there will be a section about it in the output of phpinfo()
OK, I have resolved this, been away for a week, came back to look at it again...
Turns out at the very first time (before posting on here) it wasn't working (the dll files weren't in the system32 folder) I followed a few posts on here where people suggest downloading the latest version of PHP and taking the ext folder and copying over the ones we have installed. Today I downloaded the zip that matches my version exactly, overwrote all the newer dlls and it now works perfectly, thank you to all those that helped and offered their expertise and time.

Enabling CURL with PHP 5.6 on Windows 8

I have Apache 2.4.12 and php 5.6.9 on my Windows 8 computer and I'm trying to enable the curl extension for php however, I haven't had much success. After searching the internet for this issue it appears that other's have had the same trouble. Here are the suggestions I've found:
Uncomment ;extension=php_curl.dll in php.ini
Uncomment ;extension_dir = "ext" in php.ini
Download and replace the php_curl.dll file in the ext directory of php with one from this website
Add to the PATH environment variable where php is installed
Copy libeay32.dll and ssleay32.dll from where php is installed to C:\Windows\System32
I've tried every single suggestion with no success except the third item in the list because it doesn't have a .dll file for curl with php 5.6, in fact the highest version avaible is one for php 5.4. There has to be way to enable this extension without having to downgrade my php version to 5.4 and using a .dll file from that website. I've tried searching the internet for a .dll file like the one on the linked website for php 5.6 opposed to a version of php that's outdated but I've had no luck in finding one so I'd like help with this issue.
How can I enable curl for php 5.6 on my Windows 8 machine?
Locate your php folder and follow these instructions:
Move to Windows\system32 folder:
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll
Move to Apache24\bin folder
libssh2.dll
Uncomment extension=php_curl.dll
Note: Don't overwrite when prompted.
Source
I give you an example of a set up that just worked perfectly for me :
downloaded the VC11 x86 Thread Safe version of PHP,
unzipped it within a directory C:\php,
edited the php.ini-development, uncommenting 2 lines :
extension=php_curl.dll
extension_dir = "ext"
saved this file under php.ini.
I just tested it via the CLI (windows CMD here) on a PHP a file (i.e. C:\php\php myFile.php) and cURL worked.
If you have Apache installed and prefer to test it in a browser, you obviously have to adapt this installation with your own files structure and to do not forget to restart Apache.
Running apache service with a specific user other than local system solved the problem for me. You can test this easily by stopping the apache service and running manually <apache dir>\bin\httpd.exe.
I fixed this problem by adding C:\php and C:\php\ext to PATH system variables.
Press window + pause to bring up the System Properties page.
Click Advanced System Settings
Click Environment Variables
You'll see the Path variable in the System Variables box in the bottom.
Append your PHP path to that variable. Now the system will be able to load the extensions.
In addition to uncommenting the line
;extension_dir = "ext"
Try also setting it to the absolute path of the PHP installation's ext folder and then restarting apache.
e.g.:
extension_dir = "C:\PHP 5.6.19\ext"

intl extension: installing php_intl.dll

I'm trying to locate php_intl.dll and install it.
Does anyone have any tips?
For the php_intl.dll extension to work correctly, you need to have the following files in a folder in your PATH:
icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
By default they're sitting in your PHP directory, but that directory isn't necessarily in your PATH (it wasn't for me, using xampp)
This has to be in your global path, not just your user's path. To set the global path, go to system info (windows key + PAUSE), then Advanced System Settings (Vista+) or Advanced (XP) and click the "Environment Variables" button and add the appropriate directory to the PATH variable in the System Variables list.
The packages at http://windows.php.net/download/ all contain the php\_intl.dll which is located in the subdir ext/.
All you have to do is to check if your extension_dir points to the right directory and add (or uncomment) the extension=php\_intl.dll directive.
I have XAMPP 1.8.3-0 and PHP 5.5.0 installed.
1) edit php.ini:
from
;extension=php_intl.dll
to
extension=php_intl.dll
Note: After modification, need to save the file(php.ini) as well as need to restart the Apache Server.
2) Simply copy all icu* * * *.dll files:
from
C:\xampp\php
to
C:\xampp\apache\bin
Then intl extension works!!!
Had the same issue ... I found the files needed by searching my drive for icu**.dll and found the ones listed above but with 46 instead of 36 in the php folder. I copy pasted them to the apache/bin file and tried starting apache and it finally started. On the Server Checks page it has now changed from Yellow Check to Green OK. Hope this helps.
If you read error message, "icuuc36.dll" is missing.
The problem is that you don't have the PHP dir in your PATH, or you can copy all "intl" files from php directory to apache\bin directory.
They are :
icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
The package is already included in the extensions for PHP 7.2 and above and you just need to uncomment the following line in php.ini
extension=intl
I resolved this issue by adding PHP directory to PATH variable.
I just appended ;C:\xampp\php to Path variable in Windows Environment Variables.
For WampServer 2.5 (Apache 2.4.9 and PHP 5.5.12):
In default I've had php_intl enabled (you can enable it when you left click on the wamp icon in the system tray > PHP > PHP extensions and check if is it marked)
To have it properly working, I've had to copy:
C:\wamp\bin\php\php5.5.12\icu**51.dll
(total 8 files)
to
C:\wamp\bin\apache\apache2.4.9\bin
Then just restart the wamp and everything was just fine.
You can type this command in terminal: sudo apt-get install php-intl
I have PHP 5.3.1 and Apache
When I add the extension=php_intl.dll to php.ini and restart apache, it comes an alert that says "the requested operation has failed"
And this error on Event Monitor:
Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005
The problem was some DLLs like icudt36.dll were missing (noticed with sysinternals ProcMon), I've downloaded php 5.3.1 zip version and extract all DLL's to PHP folder. That solved the problem.
When I faced this issue it was sorted out by using below mentioned steps:
Edit php.ini:
Make
;extension=php_intl.dll
to
extension=php_intl.dll
Simply copy all icu* * * *.dll files(any icu file with dll extension) from
C:\xampp\php to C:\xampp\apache\bin
Also If you have the msvcp110.dll missing file error. You have to download the right .dll or just go here http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe.
Now the intl extension should work :-)
I have IIS 7 and installed PHP using Microsoft Web Platform Installer on Windows 7. In IIS, go to PHP Manager in settings main page -> PHP Extensions -> Enable or Disable an Extension.
Intl extension is disabled by default.
I hope this helps
If you have the msvcp110.dll missing file error. You have to download the right .dll or just go here http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe, it worked for me.
There is a better way of doing this.
I was having same kind of problem with ldap, intl, curl php extensions. I've solved those issues by the following ways:
At first you've to check whether these extensions have been enabled in the php.ini file by removing semicolon (;) in front of the following lines:
;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll
Now you can directly load those necessary dll files (ie libeay32, libssh2, ssleay32, icu**.dll ) from your httpd.conf (apache configuratio file) file. You don't have to do any other things like copying them to the apache's bin directory or php's ext directory. Just add them directly in you apache's httpd.conf file.
Please note that the followng example is for php version 5.5.x.
LoadFile "C:/php/icudt51.dll"
LoadFile "C:/php/icuin51.dll"
LoadFile "C:/php/icuio51.dll"
LoadFile "C:/php/icule51.dll"
LoadFile "C:/php/iculx51.dll"
LoadFile "C:/php/icutest51.dll"
LoadFile "C:/php/icutu51.dll"
LoadFile "C:/php/icuuc51.dll"
LoadFile "C:/php/libeay32.dll"
LoadFile "C:/php/libssh2.dll"
LoadFile "C:/php/ssleay32.dll"
That's it. Now, restart your apache or wamp and you're good to go.
In my case adding PHP directory to PATH in user environment didn't work. After some testing I've found that it should be added to system PATH (I don't know what's the name of this part of system setting windows, 'couse I have Polish Windows).
/Digger here/
Moving the icu*****.dll files to /ext/ seems to resolve the issue as well.
( If you specified the extension directory to be there of course )
In my xampp control panel, Click config to open php.ini
remove ; in
;extension=php_intl.dll
Then restart the apache.
Under php extensions in your wampserver, ensure intl is checked
check your extension_dir in your php/v7.0/php file ensure the directory is not commented and it is accurate
(Dont know if this contributed but i did all three)In your extension list in the same file as 2 above, include the intl file in the same format as the rest(if it is not included).
All the best
I was having trouble getting intl to run using PHP 7.1.7 and PhpStorm on Windows 10. Based on other answers here I could tell it was a PATH/DLL dependency problem but I couldn't seem to find all of the required files even after (re-)installing the Visual C++ Redistributable.
I eventually went searching my C: drive for vcr*.dll and found a copy of vcruntime140.dll in my C:\Program Files\Mozilla Firefox directory. So, in addition to making these changes to php.ini:
extension_dir = "ext"
extension=php_intl.dll
I also set my runtime PATH to ONLY the PHP directory (in my case, C:\Program Files\PHP\7.1.7) and the Firefox directory (above) and it FINALLY worked! I know it needs more than just the vcruntime140.dll but the other required DLLs must be in the FF directory too (there are a few dozen but I didn't bother to figure out which ones are essential).
You have to modify the php.ini file by removing the semi-colon on the line containing
extension=php_intl.dll
After this, go to the php folder of Xamp or Wamp or EasyPHP, copy every dll file containing
icu*,
Paste them inside your windows file.
That worked for me.
Configuration : EasyPHP Dev Server, Windows 10.

PHP / cURL on Windows install: "The specified module could not be found."

I'm running PHP 5.2.3 on Windows 2000 Server with IIS 5. I'm trying
to get cURL working, so in my php.ini file, I have this line:
extension_dir ="F:\PHP\ext"
And later, I have:
extension=php_curl.dll
The file F:\PHP\ext\php_curl.dll exists, but when I try to run any PHP
script, I get this in the error log:
PHP Warning: PHP Startup: Unable to load dynamic library 'F:\PHP\ext
\php_curl.dll' - The specified module could not be found.
in Unknown on line 0
Problem solved!
Although the error message said The specified module could not be found, this is a little misleading -- it's not that it couldn't find php_curl.dll, but rather it couldn't find a module that php_curl.dll required. The 2 DLLs it requires are libeay32.dll and SSLeay32.dll.
So, you have to put those 2 DLLs somewhere in your PATH (e.g., C:\Windows\system32). That's all there is to it.
However, even that did not work for me initially. So I downloaded the Windows zip of the latest version of PHP, which includes all the necessary DLLs. I didn't reinstall PHP, I just copied all of the DLLs in the "ext" folder to my PHP extensions folder (as specified in the extension_dir variable in php.ini), and I copied the versions of libeay32.dll and SSLeay32.dll from the PHP download into my System32 directory.
I also did an iisreset, but I don't know if that was necessary.
libeay32.dll and ssleay32.dll have to be path-accessible for php_curl.dll to work correctly.
In Control Panel -> Search -> Advanced System Settings and use the button Environment Variables.
Under System Variables find Path add the c:/php folder (or whatever path) and restart Apache.
A tip is to use the WAMP-installer. Everything just works. It's not IIS though - so if it is important - you should ignore my advice. ;)
EDIT: I saw that you found the solution so I voted it up. +1
I keep having same problem although i did the suggestion above and many others suggested on the internet i get
Sorry, but this plugin requires libcurl to be activated on your
server.
When i try to activate my plugin.
Edited: I was using php 5.3.13 had win64 windows 7 and none of the soln was working for me.
1.I had tried to copy the libeay32.dll SSLeay32.dll in windows\system32 folder did not work
2. Edited and uncommented both php.ini files did not work
3. Activated php_curl in php extensions did not work
4. Copied and replaced several times the www.anindya.com version of php_curl.dll but seems i was downloading the wrong version of this. The version that worked for me was in Fixed curl extensions section the second file php_curl-5.3.13-VC9-x64
Hope this will help anyone else
Faced this problem when I upgraded the php in UwAmp to 7.2.*. The only solution that worked for me was to download the latest version of apache at the time (Apache/2.4.37 (Win32)) and replace the one that came with UwAmp. That also involved editing the sample httpd.conf to produce an httpd_uwamp.conf file. UwAmp needs this template to then generate the actual httpd.conf when it starts up. All other suggestions above didn't resolve it for me unfortunately. Also note that as of OpenSSL 1.1, libeay32.dll and ssleay32.dll are no longer required (see http://php.net/manual/en/curl.installation.php)
In your case just add "F:\PHP\ext" to Environment Variable "path".

Categories