ID:               42613
 User updated by:  patrick at baynewmedia dot com
 Reported By:      patrick at baynewmedia dot com
 Status:           Closed
 Bug Type:         *General Issues
 Operating System: Windows XP Pro & Windows Vista
 PHP Version:      5.2.4
 Assigned To:      jmertic
 New Comment:

"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?


Previous Comments:
------------------------------------------------------------------------

[2007-11-12 12:56:22] [EMAIL PROTECTED]

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-05 16:04:44] 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-05 15:51:21] 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 15:50:12] 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 12:39:12] [EMAIL PROTECTED]

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


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/42613

-- 
Edit this bug report at http://bugs.php.net/?id=42613&edit=1

Reply via email to