php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42613 Unable to load Dynamic Link Libraries - installer buggy
Submitted: 2007-09-10 16:24 UTC Modified: 2008-08-22 18:15 UTC
Votes:15
Avg. Score:4.8 ± 0.5
Reproduced:15 of 15 (100.0%)
Same Version:15 (100.0%)
Same OS:15 (100.0%)
From: patrick at baynewmedia dot com Assigned: jmertic (profile)
Status: Closed Package: Windows Installer
PHP Version: 5.2.4 OS: Windows XP Pro & Windows Vista
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
45 - 32 = ?
Subscribe to this entry?

 
 [2007-09-10 16:24 UTC] patrick at baynewmedia dot com
Description:
------------
I have seen this posted on numerous other forums and, oddly, listed numerous times as bogus or closed with minimal feedback here. However, despite trying nearly all the suggestions I've found and despite being a heavy user of PHP since version 3, the newest one has some serious issues when loading DLLs at startup.

First of all, I downloaded the Windows installer and installed into "C:\PHP5". I set the PATH environment variable to "C:\PHP5; C:\PHP5\ext". This was done on a NEW install of Windows XP Pro as well as Vista.

Upon installation, I updated the "php.ini" to read:
...

; Directory in which the loadable extensions (modules) reside.
extension_dir ="C:\PHP5\ext"

When I ran PHP, it popped up a series of "unable to load Dynamic Link Library" warnings. I moved all the extension DLLs into the C:\PHP5 directory and updated the INI file to read:

; Directory in which the loadable extensions (modules) reside.
extension_dir ="C:\PHP5"

This resulted in the same error (see code section below for errors).

I updated the INI to read:

; Directory in which the loadable extensions (modules) reside.
extension_dir ="\PHP5"

...then...

; Directory in which the loadable extensions (modules) reside.
extension_dir =".\"

...then...

; Directory in which the loadable extensions (modules) reside.
extension_dir ="."

...and...

; Directory in which the loadable extensions (modules) reside.
extension_dir =""

Finally, I repeated these steps using forward slashes in the path instead. For example: extension_dir ="C:/PHP5"

None of these combinations resulted in any changes to the error messages. I commented out the offending libraries and got PHP to run. I then decided to try my luck with MySQL so I downloaded it, installed it, and tried a basic connection. I got the error that the library "libmysql.dll" could not be found. Again, I went through page after page of advice on this issue: Update the DLL using MySQL's code, put the DLL into C:\, put it into C:\WINDOWS, then C:\WINDOWS\SYSTEM32, the C:\WINDOWS\SYSTEM (and the equivalents on Windows Vista). I set various security settings, added the path to the PATH environment variable, and basically ran the gamut of tests and fixes I could find both here on the PHP bug reports and on other sites where these bugs are increasingly numerous.

Folks, PHP 5.2.4 simply doesn't work right! As mentioned, I've been using it now since version 3 and I have NEVER encountered the incredible level of frustration in trying to set up a simple PHP installation as this. If the offending DLLs shouldn't be enabled by default, why are they? Why does the pop-up dialog not state the file name correctly when reporting the DLL? Is it that the DLLs can't be found (because I assure you they ARE there) or because there's another problem with them? Finally, why is libmysql.dll failing? What's happened in the previous few versions that the Windows installation process is now, basically, not working?

Please don't respond with a piddly trifling response to this. I'm a web developer and know my way around my system. I've been banging my head against the wall with this for over a week. Reading responses here like "you probably forgot to set the PATH" is frankly insulting. I've been trying to fix this installation now for over a week using a wonderful array of INI/PATH settings and have not found a solution that works. On Vista I managed to at least get phpinfo() working (no extra modules like MySQL loading but at least something)...but on XP Pro, I can't even execute a script from the command line because:

"The specified module(s) could not be found."

Please...can someone offer a real, working solution that doesn't assume that I've missed the basic, general setup stuff?

Thanks,
P

Reproduce code:
---------------
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_oci8.dll'
 - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_oci.d
ll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_oci8.
dll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_sqlit
e_external.dll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pspell.dl
l' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_sybase_ct
.dll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_ibm_db2.d
ll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_ifx.dll'
- The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_ingres.dl
l' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_maxdb.dll
' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_mcve.dll'
 - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_netools.d
ll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_oracle.dl
l' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_ibm.d
ll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_infor
mix.dll' - The specified module could not be found.
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\php_svn.dll'
- The specified module could not be found.
 in Unknown on line 0
Cannot find module (IP-MIB): At line 0 in (none)
Cannot find module (IF-MIB): At line 0 in (none)
Cannot find module (TCP-MIB): At line 0 in (none)
Cannot find module (UDP-MIB): At line 0 in (none)
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
Cannot find module (SNMPv2-TM): At line 0 in (none)
PHP Notice:  Constant XML_ELEMENT_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_TEXT_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_CDATA_SECTION_NODE already defined in Unknown on line
0
PHP Notice:  Constant XML_ENTITY_REF_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_ENTITY_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_PI_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_COMMENT_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_DOCUMENT_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_DOCUMENT_TYPE_NODE already defined in Unknown on line
0
PHP Notice:  Constant XML_DOCUMENT_FRAG_NODE already defined in Unknown on line
0
PHP Notice:  Constant XML_NOTATION_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_HTML_DOCUMENT_NODE already defined in Unknown on line
0
PHP Notice:  Constant XML_DTD_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_ELEMENT_DECL_NODE already defined in Unknown on line 0

PHP Notice:  Constant XML_ATTRIBUTE_DECL_NODE already defined in Unknown on line
 0
PHP Notice:  Constant XML_ENTITY_DECL_NODE already defined in Unknown on line 0
PHP Notice:  Constant XML_NAMESPACE_DECL_NODE already defined in Unknown on line
 0
PHP Notice:  Constant XML_LOCAL_NAMESPACE already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_CDATA already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_ID already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_IDREF already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_IDREFS already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_ENTITY already defined in Unknown on line 0
PHP Notice:  Constant XML_ATTRIBUTE_NMTOKEN already defined in Unknown on line 0

PHP Notice:  Constant XML_ATTRIBUTE_NMTOKENS already defined in Unknown on line
0
PHP Notice:  Constant XML_ATTRIBUTE_ENUMERATION already defined in Unknown on li
ne 0
PHP Notice:  Constant XML_ATTRIBUTE_NOTATION already defined in Unknown on line
0
PHP Warning:  require_once(SAM/php_sam.php): failed to open stream: No such file
 or directory in sam_factory on line 1
PHP Fatal error:  require_once(): Failed opening required 'SAM/php_sam.php' (inc
lude_path='.;C:\php5\pear') in sam_factory on line 1
Could not startup.
Error in my_thread_global_end(): 4 threads didn't exit


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-09-11 10:58 UTC] jani@php.net
First of all: Do you really need all those extensions? 
And from this annoyingly long report I deciphered that you used the installer. How about the basic .zip file, just unpack that and try with it instead..? (FYI: PHP 5.2.4 works perfectly for me on 2 different WinXP machines..other one used plain .zip and the other the installer..)
 [2007-09-18 13:42 UTC] azlan01 at yahoo dot com
fyi - i had the exact same problem.  i uninstalled the php installation, and downloaded the zip file.  i unzipped to c:\php5, ran go-pear.bat and it worked.
 [2007-09-21 03:06 UTC] mat at overclockers dot at
Seems like something is messed up with the extension_dir variable. In the newest version 5.2.4 I have no chance to change the content. I think this is what is happening here too, because the extensions want to be loaded from "C:\Php5" which is the default setting of this configuration option.

So I can reproduce this error on Windows Vista, have not tried it on Windows XP yet. And yes, I am pretty sure that the _right_ php.ini gets loaded.

Regards,
mat
 [2007-09-21 10:02 UTC] mat at overclockers dot at
Nevermind, just found out that my php.ini went from c:\Windows inside a subdirectory - please don't ask me how! ;)
 [2007-10-11 23:55 UTC] scottmac@php.net
During the installer you must have selected to install every extension onto the hard disk, this in turn would have enabled all of those extensions some of which don't work.

I'm under the impression that the extension maintainer removed the ones that were broken, but one can still shoot themselves in the foot by enabling everything.

Uninstall PHP and then re-install, when you do make sure you only enable the modules that you need.
 [2007-10-16 11:00 UTC] mfvivino at vivmedia dot net
It gets weirder for me.

I experienced tons of problems with the installer, so scrapped that (did uninstall) and installed manually via .zip which was easy enough. I ONLY enabled mysql, and amazingly enough, it worked!.  I ran a simple test:

   <?php phpinfo(); ?>

which reported mysql as enabled; and I was subsequently able to install PHP shopping cart software.  So far, so good...

Now for the fun part: after rebooting the machine, mysql is being reported as not enabled anymore, so I checked the apache log and sure enough, I see the same cryptic error as others have reported here:

   PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php52/etx\\php_mysql.dll' - The specified module could not be found. \r\n in Unknown on line 0.

And now of course phpinfo() shows mysql indeed is missing

I thought perhaps the reference to '\r\n' had something to do with windows linefeeds, so I ran a dos2unix conversion on the php.ini file -- no go.  Still the same problem. 

For fun, I tried disabling mysql and enabling a different module.  Doesn't seem to matter, get the same problem with any and all.

As others have already noted, this is extremely frustrating -- and atypical.  I am also a very long-time PHP user and have not ever experienced this level of difficulty with basic PHP installation/configuration.
 [2007-10-18 16:21 UTC] patrick at baynewmedia dot com
mfvivino at vivmedia dot net:
That's another interesting problem and frankly I don't expect the path to be missing for seemingly no reason. I'll keep my eyes open for that and see if it does the trick. Thanks for the research though I'm still of the opinion that this shouldn't be required ;)
 [2007-10-22 11:26 UTC] jani@php.net
Assigned to the installer maintainer.
 [2007-10-22 13:39 UTC] jmertic@php.net
Did you move the PHP directory or any of it's contents after it was installed?
 [2007-10-22 18:00 UTC] patrick at baynewmedia dot com
jmertic@php.net:

No, no files were moved. Files were only copied in this way:

1. When all DLLs continued to fail to load from the original installation directory (C:\PHP5\ext) I copied them (not moved, just copied) to the root installation directory (C:\PHP5). Now they were duplicated but at least they were being found. Any changes I made to the PHP.ini file regarding the location of extensions seemed to have no effect. I even tried setting it to weird and exotic locations like the "Program Files" directories, and so on. However, they would only load when together with the PHP executable and the INI settings had absolutely no effect (i.e. regardless of where I specified the path, the DLLs always loaded up from C:\PHP5).

2. I commented out the offending DLLs to get a basic PHP installation running (still the same INI file). Now I was getting no errors and phpinfo() showed that PHP was active albeit with no extended functionality. At this point I tried getting MySQL enabled. I placed the "libmysql.dll" file in all of the locations listed in previous entries in this thread along with updating the INI file. I also did a full system search to see if there were any other PHP initialization files sitting anywhere on the system, and to see where all the MySQL DLLs were. Only one INI file exists on my system, libmysql.dll exists in about 6 different locations, and simply doesn't load (PHP can't find it).

So to recap: Upon my initial install on a new machine, I only copied the extension DLLs from "C:\PHP5\ext" to "C:\PHP5", effectively creating two copies. Various combinations to the path settings for these extensions resulted in the same thing: nothing. The extension DLLs are only ever recognized when in the same directory as the PHP executable. The only exception to this is the "libmysql.dll" file which fails to load no matter where I put it (previous posts here should describe in greater detail what was tried).

The result thus far is that about 60% of the original installation extension DLLs can be loaded. The remainder (listed above) cannot. The MySQL extension fails to load regardless of what I do with it or which version it is. In case I'd forgotten to mention this, all of the above attempts were tried as a regular user (with administrative privileges on my Vista machine), and running as an Administrator. On my XP machine, the results are exactly the same. I also had the thought that  Vista or 64-bit had something to do with these failures, but the XP machine is 32-bit, fully up-to-date and all else running smoothly.
 [2007-10-24 11:52 UTC] jmertic@php.net
A few things:

- You shouldn't need to set any PATH environment variables; the installer does this for you.
- Likewise, you should not need to tweak anything else in the php.ini file, unless you have some advanced directive that needs set. The installer takes care of all typical things, including the extension_dir setting.
- Please reinstall with ONLY the extensions you need.

It sounds like a combination of tweaking things that don't need tweaked and trying to install everything by default is the culprit here. Let me know if redoing the install with the above advice helps things out.
 [2007-10-24 16:01 UTC] patrick at baynewmedia dot com
jmertic@php.net: *sigh* Do you really want me to repeat everything ANOTHER time? Did you bother to read any of the posts I made in this thread? Your "advice" indicates you just skipped everything. I'm not doing this again...scroll up this page to the top, and read. If you can't be bothered, please hand this over to someone who cares.
 [2007-10-24 16:12 UTC] patrick at baynewmedia dot com
"Please reinstall with ONLY the extensions you need."

I wasn't going to write another follow-up but...are you F%^@ING KIDDING ME?!? What extensions do I need? How about you tell me! What the hell have I been asking since day one?!? 
You guys are absolutely brutal. You keep going around like a broken record; you keep saying the same things and when you can't get to the bottom of the issue, you hand it off to someone else and they do...EXACTLY THE SAME THING! 

I'm truly lost for words.
 [2007-10-29 12:01 UTC] jmertic@php.net
I understand your concern about the problems you've had with the installer. However, since I am not seeing you issue when using WinXP or Win2003 ( I unfortuantely don't have a Vista machine to test on, though others who have have reported back successful results on the whole ).

In reading your very descriptive post, the most likely scenerio you are encountering comes down to two issues.

- Updating the PATH environment variable and the extension_dir directive in the php.ini file, which the installer handles properly setting for you.
- Installing extensions you don't need and/or don't have the supporting libraries for. This is why I recommend to only install the supporting libraries you need; many require third party libraries that we do not ship with the installer for various reasons.

Thank you again for using the PHP Windows Installer and I hope to hear feedback from you after trying the above things.



 [2007-10-29 14:55 UTC] patrick at baynewmedia dot com
jmertic@php.net: I'm trying really hard to be civil here. I really can't explain why you keep reiterating the same things over and over again when I have very specifically gone into great detail to explain what's going on.

a) This is an issue both on Windows Vista *AND* Windows XP. I have tried it on XP Home Edition, Professional, and the Entertainment edition (whatever that's called). All three fail in exactly the same way. Again, I'll refer you to the very first paragraph of the bug report...just scroll all the way up and read it: "This was done on a NEW install of Windows XP Pro as well
as Vista." 

b) You keep going on about installing extensions that I need only. This is the fourth time I'm asking....what extensions do I need?!? I want to run MySQL but there is NO...I repeat...NO...documentation on extensions that I should be excluding or including. I can infer, partially, the extensions I may or may not need. Some are more obvious than others. If it's a matter of choosing the default installation extensions, well, they're ALL ENABLED BY DEFAULT! When I install, I hit "next", "next", "next", "finish". I never choose the extensions, I don't even look at the file list. So again...which ones do I need, and if I don't need them all, why are they all enabled by default in the Windows installer? 

I'm really beyond baffled here. I mean, I don't want to be insulting but I'm on the cusp of hurling out some rather harsh obscenities. I keep asking the same questions...I keep getting the same responses that fail to address any of the questions. Please...read again, I mean really READ, and then respond. This is bordering on ludicrous now :(
 [2007-11-01 16:10 UTC] jmertic@php.net
The default installer will not install any additional extensions other than those which PHP is compiled with on Windows, which are:

bcmath
calendar
com_dotnet
ctype
date
dom
filter
ftp
hash
iconv
json
libxml
odbc
pcre
Reflection
session
SimpleXML
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
zlib

For MySQL development, you'll want to also enable mysqli ( or mysql if you are working with MySQL 4.0 or lesser ). Otherwise, nothing else should need enabled.

I would recommend uninstalling PHP, removing the php.ini file left in the directory, and reinstalling only adding the extension you need.
 [2007-11-02 17:13 UTC] patrick at baynewmedia dot com
Okay. I will try this and get back to you. However, I have re-installed PHP about 20 times now and the result has been the same so I'm not overly optimistic.
 [2007-11-02 18:22 UTC] patrick at baynewmedia dot com
Okay, so I've cleaned up the php installation on my computer. I did a full search through my entire system for the existence of "php.ini" just to ensure that nothing was being left behind. I downloaded the Windows installer from http://ca3.php.net/get/php-5.2.4-win32-installer.msi/from/ca.php.net/mirror and installed it. The default installation has all extensions disabled. Maybe, I think, I'm being an idiot or losing my mind, so I pull up a previous package I'd downloaded of 5.2.4. In that one, extensions are all enabled! Is it possible that some mirrors are getting different info? I'm using the Canadian one above and that's where I download all my ZIPs/Installers from. But whatever, looks okay, and now it mimics the torn-down installation I had previously where I disabled all the "bad" DLLs.

However, the libmysql.dll file is nowhere to be found so...I grabbed the ZIP package from http://ca3.php.net/get/php-5.2.4-Win32.zip/from/ca.php.net/mirror
copied it (the DLL) to the installation directory I added the extension directive in the php.ini file:
extension=php_libmysql.dll
(the extension_dir is still "./" -- the default value). Restart my web server (just to be sure)...and...nothing. "libmysql" (or anything mentioning mysql) appears nowhere on the phpinfo page. I checked my MySQL installation...ran the administration tool and it's up and running. Maybe, I'm thinking, it's because I'm running it on a 64-bit system so (drivers being not quite up to speed yet), I download the 32-bit version so everything runs virtualized. The 64-bit version gone and the 32-bit version running, I try it again. Result: no change. The libmysql.dll file is doing nothing. 

No go. Step 2: Re-install with MySQL (mysqli to be exact-for MySQL 5.0) support enabled. The INI file is exactly the same as when I updated it by hand (extension=php_mysqli.dll). The extension now shows up in the list (so...why was my INI file not being read...even if there was an error, wouldn't this have been mentioned?). I run my simple PHP script to connect to the database and it chucks out an error saying that the MySQL extension isn't loaded. Okay...re-install with *both* mysql and mysqli enabled. Great. Now it's asking me for the multibyte string extension. I add it to the PHP INI file from my ZIP and, *sigh*, not there.

Well, this is light years ahead of where I was a month ago so I have to say thanks for at least getting me this far. I was really going to give up. But you can see how I'm slowly sliding down the same slope again. The PHP.INI file, for some reason, is not being recognized. Or at least, the changes I added are not being read. The MySQLi extension for MySQL5 does not appear to be the only one required (not sure if it's needed at all...or what the reason behind this is). 

The thing that keeps bothering me is that I've done this many times before. These extensions, at least, I'm familiar with and have updated many times. So when I started running into these problems with the current installer, it made me call into question what core changes have been made. I've always had all extensions enabled, and just assumed everything I would ever need would be there (including any MySQL stuff)...and it was! It seems now that installations must be exclusive, rather than inclusive (okay, as long as everyone understands that), and the problem with the INI file is really beyond me. So...I'm closer...but still can't get MySQL running fully. I suppose I could disable Multibyte String support but I would prefer not to as I'm using it in some of my sequel statements. Being able to load it would likely solve the problem.
 [2007-11-05 12:39 UTC] jmertic@php.net
Make sure that you enabled the mysqli extension ( or mysql if you are connecting to a pre-4.1 server ) in the installation. I have done this myself and libmysql.dll shows up in the installation directory.

You also don't need to add anything to the php.ini; the installer enables the extension automatically. Furthermore, the line you added was incorrect; it should have been:

extension=php_mysqli.dll
-or-
extension=php_mysql.dll

 [2007-11-05 15:50 UTC] patrick at baynewmedia dot com
"Make sure that you enabled the mysqli extension ( or mysql if you are
connecting to a pre-4.1 server ) in the installation. I have done this
myself and libmysql.dll shows up in the installation directory."

I did this initially by hand. I added the "extension" directive into the PHP.INI file when installing with no extensions. However, the extension failed to show up when running php_info(). There was no error to suggest it was missing or misspelled. Simply, nothing. The only way I could run the MySQL extension was to specify it when running the installer. *However*, the MySQLi extension didn't work (I'm running PHP5). When I tried to run any simple scripts, I was simply told that the MySQL extension wasn't loaded (no mention of mysqli). So I installed again with both extensions enabled and the scripts now worked, except that they warn that the multibyte string extension should also be present. 

To sum up:
1. Installing the extensions by hand had no--I repeat--no effect. there were no errors or messages indicating that something was wrong, the extensions simply didn't show up.

2. Installing with mysqli only doesn't work. I keep getting asked for the mysql extension instead. I am 100% certain I'm running MySQL 5.

3. Re-installing with both mysqli and mysql allows me to finally connect *but* I get "missing multibyte string" extension.
 [2007-11-05 15:51 UTC] patrick at baynewmedia dot com
*However*, the MySQLi extension didn't work (I'm running PHP5) ... should've read:

*However*, the MySQLi extension didn't work (I'm running MySQL 5)
 [2007-11-05 16:04 UTC] patrick at baynewmedia dot com
...oh, regarding the mispelling issue; yes, I had initially misspelled the extension names, a few times. First time I'd forgotten the "php_" at the front, the next time it was something else. I'll be the first to admit that that's just dumb on my part, but it's worthwhile to point out that no errors were reported. I mean 0 errors. The extensions, justifiably, didn't show up on the info page, but neither did any sort of error reports that the DLL mentioned doesn't exist (or something to that effect). Furthermore, I did finally fix my spelling but the result is still the same. If I make alterations by hand, the info page simply doesn't reflect this. I even tried copying the INI file that was created with the successful MySQL/i installation (where I enabled it in the installer). When I tried this again by hand on my XP machine...just open up the existing INI and dump the contents of the working one in there...no changes! The phpinfo page does not show any MySQL instances anywhere. If I uninstall and re-install with the extensions enabled, however, they're there! And the INI files are, byte for byte, exactly the same.
 [2007-11-12 12:56 UTC] jmertic@php.net
Just to clarify again, you don't need to manually adjust the php.ini file; the installer handles that for you.

I bet your script is referencing the mysql_* functions, which require the the mysql extension. Since you are working with MySQL 5, I'd recommend moving to the mysqli_* functions; they are mostly identical, but support some of the newer MySQL 4.1+ features.

If you need multibyte support, enable the Multi-Byte String (mbstring) extension.

Any changes to the php.ini file require a restart to the web server.

I'm marking this closed since it sounds like there isn't a PHP error here, mainly a user configuration error.
 [2007-11-13 17:40 UTC] patrick at baynewmedia dot com
"Just to clarify again, you don't need to manually adjust the php.ini
file; the installer handles that for you."

I got that, but that's simply not always the case. I appreciate what you're saying but the problem is that, while there are claims that the extensions *should* work, they don't. I say they don't, and the answer continues to be that they *should*. So, erm, how does this resolve the problem again?

"I bet your script is referencing the mysql_* functions, which require
the the mysql extension. Since you are working with MySQL 5, I'd
recommend moving to the mysqli_* functions; they are mostly identical,
but support some of the newer MySQL 4.1+ features."

Actually no, I was the "mysqli_" functions (well, at least I was initially). I like using the latest and greatest and this seemed to be the way to go. But like I said, the mysqli extension simply doesn't work. So I had to downgrade to mysql to get it running. Again, the problem is not really entirely solved.

"If you need multibyte support, enable the Multi-Byte String (mbstring)
extension."

Okay...not included by default with the MySQL extension so I have to edit the PHP.INI file. Granted it's optional but clearly your first suggestion to not update the INI file really implies that your web server will only ever do one thing, and that any time you want to do something else you need to re-install it. If not, you should be able to install all the extensions you *think* you may ever need...and we're right back to step 1!!!

"Any changes to the php.ini file require a restart to the web server."

...right. If I failed to omit this anywhere it's just because it was getting tedious constantly repeating myself. But yes, I restart my we server each and every time.

"I'm marking this closed since it sounds like there isn't a PHP error
here, mainly a user configuration error."

Okay, so here's the thing. If I install PHP, I only install exactly what I need at that exact moment, correct? If need anything else, I 

a) shouldn't touch the INI file because the installer did it for me (so I'm stuck),
b) Update the INI file by hand and risk enabling a faulty extension (right back to the very top of this problem), 
c) Re-install PHP and enable the extensions I need now. 

Besides that, it still doesn't answer the fundamental question and problem....if I want functionality "A", which extensions should I be planning to install way ahead of time to ensure that I can use it. Furthermore, why do a number of the extensions fail? The basic questions that this whole thing started with haven't been answered or addressed in any way. The bug summary "Unable to load Dynamic Link Libraries - installer buggy" has pretty much been ignored. Maybe it's not an installer issue but we've managed to get so far off topic...trying to get one precise installation going...that the original problem has been forgotten. I'm glad I can partially use MySQL, don't get me wrong, but how has the original bug been fixed?
 [2013-07-14 09:28 UTC] cedricipkiss at gmail dot com
Some of the extensions require libmysql. you should make sure libmysql.dll is 
installed on your computer, you can look for it under C:\Windows\System32. This is 
specified in the php manual ( 
http://php.net/manual/en/install.windows.extensions.php). You can download 
libmysql.dll at http://www.dll-files.com/dllindex/dll-files.shtml?libmysql. This 
bug took me quite some time to solve. Hope it helps.
 [2020-02-03 06:23 UTC] jakecassar1947 at gmail dot com
Great job. Use Office setup. Microsoft Office setup is a suite of laptop productivity applications that are designed specifically to be used for office or business use. https://getinfos.org/office-setup/
 [2020-02-10 10:25 UTC] st7smithman at gmail dot com
For testing your printer printing quality check the link <a href=”https://printertestpage.co/”>printer test</a>
 [2020-03-27 18:00 UTC] wilsonjesica583 at gmail dot com
Windows 8 and Windows 8.1 are the versions of the famous OS of Microsoft that brought with it the foremost significant transformation within the appearance this software from ago, giving thanks to a replacement interface purely oriented to devices with touch technology with the aim of Arrive now, to a replacement market. Widows 8.1 Product key's one among those essential classics which will not be missing within our options, so it's always useful to possess at hand the generic windows 8.1 serial which will be used for installation.
https://notresponding.us/windows-8-1-product-key-activation-guide/
 [2020-04-14 09:12 UTC] samponting345 at gmail dot com
Great job. QuickBooks is that the small business accounting software of decision today. Along these lines, in itself that may disclose to you something regarding why you ought to utilize QuickBooks Support  Over the years I've worked with or installed a good range of accounting software products getting used by our customers. These software products have extended from low end to mid-range software costing an outsized number of dollars. https://getaccounting.co/
 [2021-05-09 20:18 UTC] nonton01 dot com at gmail dot com
DONT use this version !!!
5.2.4 is not possible anymmore for any wordpress site, my website http://212.129.1.107/ design and function all broken if i keep using this version
 [2022-02-10 02:06 UTC] janemiranda196199 at gmail dot com
Excellent information you have shared, thanks for taking the time to share with us such a great article. I really appreciate your work. ! Such a great post ! thanks for sharing !
https://pacman-30thanniversary.com
 [2022-02-12 15:11 UTC] admin at 01nonton dot com
since im no tech guy, i didnt even know about php.
before, my site http://195.2.81.233/ load extremely slow when i use php5
after i modified a lot of things especially the themes, all running so well and load super fast on php 7
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 06:01:29 2024 UTC