468,168 Members | 1,510 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,168 developers. It's quick & easy.

cUrl on Windows install: "The specified module could not be found."

Hi,

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

Googling hasn't helped; do you have any ideas? I don't know what I
should test to debug this one. Thanks!

Derek
Aug 11 '08 #1
12 6728
dkurth wrote:
Hi,

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

Googling hasn't helped; do you have any ideas? I don't know what I
should test to debug this one. Thanks!

Derek
Derek,

Do you have libcurl version 7.10.5 or higher installed on your system?
Is it accessible to the IIS user (i.e. in the PATH statement,
permissions set properly, etc.)?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Aug 11 '08 #2
Do you have libcurl version 7.10.5 or higher installed on your system?
Is it accessible to the IIS user (i.e. in the PATH statement,
permissions set properly, etc.)?
I'm not sure how to tell (if it's installed or, if so, what version I
have). I assumed that libcurl comes with the Windows PHP install, but
it's not listed when I run phpinfo(); should it be?

Thanks,
Derek
Aug 11 '08 #3
No, it doesn't come with Windows. You need to install it yourself.
This is not the same as OpenSSL - they are two different products.

And it's not the php_curl.dll I'm asking about the version - it's libcurl.
Fair enough. To install libcurl, I googled for: install libcurl
windows.

The first result was: http://curl.haxx.se/libcurl/php/install.html

Scrolling down to the Windows section of the install instructions, I
see that installing PHP/CURL for Windows *should* be a simple matter
of removing the semi-colon in this line from my php.ini:

;extension=php_curl.dll

It says that when that semi-colon is removed, "libcurl is statically
linked in" -- I take it from this that either (1) libcurl and
php_curl.dll are the same thing, or (2) php_curl.dll contains or links
to libcurl in some way.

(It goes on to say that I need to put libeay32.dll and ssleay32.dll in
the c:\winnt\system32 directory, which I did.)

Anyway, all that to say: I clearly don't know what libcurl is or how
to install it if the above is not correct! How can I find out if it's
installed and what version?

Thanks again!
Derek
Aug 11 '08 #4
dkurth wrote:
>No, it doesn't come with Windows. You need to install it yourself.
This is not the same as OpenSSL - they are two different products.

And it's not the php_curl.dll I'm asking about the version - it's libcurl.

Fair enough. To install libcurl, I googled for: install libcurl
windows.

The first result was: http://curl.haxx.se/libcurl/php/install.html

Scrolling down to the Windows section of the install instructions, I
see that installing PHP/CURL for Windows *should* be a simple matter
of removing the semi-colon in this line from my php.ini:

;extension=php_curl.dll

It says that when that semi-colon is removed, "libcurl is statically
linked in" -- I take it from this that either (1) libcurl and
php_curl.dll are the same thing, or (2) php_curl.dll contains or links
to libcurl in some way.

(It goes on to say that I need to put libeay32.dll and ssleay32.dll in
the c:\winnt\system32 directory, which I did.)

Anyway, all that to say: I clearly don't know what libcurl is or how
to install it if the above is not correct! How can I find out if it's
installed and what version?

Thanks again!
Derek
No, libcurl is NOT the same as php_curl. php_curl is a link between the
PHP code and the curl libraries.

I installed libcurl several releases ago, and at that time php_curl did
not include libcurl. And I still don't think it does.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Aug 11 '08 #5
Do you know how I can find out if libcurl is installed and (if so)
what version I have?
Aug 12 '08 #6
dkurth wrote:
Do you know how I can find out if libcurl is installed and (if so)
what version I have?
Did you install it? If not, it won't be there.

Of course, you could always search your disk for libcurl.dll.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Aug 12 '08 #7
Okay, then I do not have libcurl installed. Where can I get it / how
can I install it?

Thanks,
Derek
Aug 13 '08 #8
dkurth wrote:
Okay, then I do not have libcurl installed. Where can I get it / how
can I install it?

Thanks,
Derek
Did you google for it?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Aug 13 '08 #9
Did you google for it?

Yes:

To install libcurl, I googled for: install libcurl windows.

The first result was: http://curl.haxx.se/libcurl/php/install.html

Scrolling down to the Windows section of the install instructions, I
see that installing PHP/CURL for Windows *should* be a simple matter
of removing the semi-colon in this line from my php.ini:

;extension=php_curl.dll

But that didn't work.
Aug 13 '08 #10
Problem solved!

To recap, the error message was: Unable to load dynamic library 'F:\PHP
\ext\php_curl.dll' - 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 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.

Thanks, Jerry, for your input.
Aug 13 '08 #11
dkurth wrote:
>Did you google for it?

Yes:

To install libcurl, I googled for: install libcurl windows.

The first result was: http://curl.haxx.se/libcurl/php/install.html

Scrolling down to the Windows section of the install instructions, I
see that installing PHP/CURL for Windows *should* be a simple matter
of removing the semi-colon in this line from my php.ini:

;extension=php_curl.dll

But that didn't work.
My mistake - sorry. You're on Windows, so you don't need libcurl.dll.
You only need libeay32.dll and ssleay32.dll, which you have.

Ensure your extension directory is set properly to point to the php
extension files. Also, the extensions and above two dll's must be
readable (and executable) by the web server's user (usually something
like IUSR_(machine_name).

phpinfo() will show you the extension directory as well as the location
of the php.ini file it's using.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Aug 13 '08 #12
Interesting, I'd never heard of a .dll file for a non-Windows
operating system. Linked library (aka "shared object") files normally
have the .so extension in Linux/UNIX.

Thanks again,
Derek
Aug 14 '08 #13

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by rajshekar | last post: by
reply views Thread by djc | last post: by
reply views Thread by kamranasdasdas | last post: by
reply views Thread by gcreed | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.