php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #10165 install.txt doesn't mention copying DLLs to WINNT
Submitted: 2001-04-04 13:27 UTC Modified: 2001-07-20 16:10 UTC
From: jhurshman at rocketmail dot com Assigned:
Status: Closed Package: Documentation problem
PHP Version: 4.0.4pl1 OS: Windows 2000 Advanced Server
Private report: No CVE-ID: None
 [2001-04-04 13:27 UTC] jhurshman at rocketmail dot com
I have PHP running as CGI on IIS5.0 (Windows 2000 Advanced Server). I followed exactly the instructions in the install.txt document.

When I tried to load certain extensions (any database extensions, specifically), php.exe would hang, with the complaint that "Warning : Unable to load dynamic library './php_mssql70.dll' - The specified module could not be found."

In searching the bug reports here, I found the suggestion to copy the contents of the php/dll directory to winnt\system32. That fixed the problem.

The "install.txt" document should mention this.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-04 13:49 UTC] phildriscoll@php.net
It would be good to get to the bottom of this. If anyone out there understands what Windows does in these circumstances, can they shed some light on proceedings.

I don't have any of the databases that need extensions, so the only extension I routinely use is GD, however it is my experience on NT4 that I never have to stick any dll (php or otherwise) in winnt or winnt/system32 unless it is going to be shared by some other application. I can always just put them in the same directory as the program that calls them and all is well.

Is W2K different, or are the database extension dlls different.

We need to know, not only for the installation notes, but also for the installer software which sticks things in c:/php by default.
 [2001-04-04 14:38 UTC] jhurshman at rocketmail dot com
When I was having the problem, I could load certain extensions just fine (e.g., php_gd.dll and php_db.dll). However, the database extensions would not load.

My interpretation is that the database DLLs depend on one or more of the DLLs that are provided in the dll directory of the distribution. Perhaps there's another way to get Windows to find those DLLs without putting them in the WINNT directory (setting the path, maybe?).
 [2001-04-16 06:59 UTC] jmoore@php.net
they should be in the extension dir specified in php.ini which is clearly documented through out the configuration docs.

-James
 [2001-04-16 11:11 UTC] jhurshman at rocketmail dot com
The whole time I was having trouble, all the 'extension' DLLs (such as php_mssql70.dll) *were* in the extensions directory, and the php.ini was pointing to that directory.

The DLLs that need to be copied to winnt\system32 (or wherever Windows can find them) are the ones in the "dlls" directory (expat.dll, FdfTk.dll, gds32.dll, gnu_gettext.dll, jvm.dll, libeay32.dll, libpq.dll, libasl.dll, msvcrt.dll, Ntwdblib.dll, sablot.dll, SSLeay32.dll, yaz.dll).
 [2001-07-20 16:10 UTC] tom@php.net
It's mentioned in the manual now.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 09:01:27 2024 UTC