php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41617 Installer adds extra extension lines in php.ini
Submitted: 2007-06-07 02:58 UTC Modified: 2008-08-22 18:14 UTC
From: grant at cnwtech dot ca Assigned: jmertic (profile)
Status: Closed Package: Windows Installer
PHP Version: 5.2.3 OS: Win XP SP2 latest 20070606
Private report: No CVE-ID: None
 [2007-06-07 02:58 UTC] grant at cnwtech dot ca
Description:
------------
Very strange problem.   Had PHP v5.2.1 installed, working, installed MySQL v5.0.41 (latest), enabled php_mysql.dll extension in php.ini.  Ran .PHP script that simply { echo "Hello World!<br>" } -OR- { phpinfo() }... used to work PRIOR to enabling php_mysql.dll support.   Now I get different results, typically (a) no output, no errors [usually] (b) five pop-ups that are titled "Error" with no content when enable E_ALL & display_errors [sometimes] or (c) FAULT in #### [this has only showed itself twice].

Removing MySQL does NOT resolve problem.   Removing PHP does NOT resolve problem.   Removing BOTH, ensuring installation folders areclean, IIS is reset (i.e. no PHP extension configured & restarted)... and system re-booted... WILL resolve issue.

Then installing PHP v5.2.3 is okay and PHP script runs (Hello world!).   Install MySQL v5.0.41 (again)... PHP works and MySQL works.   Enable php_mysql.dll extension... UGH,same problem.

Have tried with different versions of MySQL (5.0.41, 5.0.37) and PHP (5.2.3, 5.2.1)... ensuring folders completely deleted and system, IIS, MySQL, PHP all re-started.

Comments:
- YES... all extensions installed as part of PHP.
- PHP installed for IIS ISAPI versus CGI.
- Install path changed to C:\PHP5 (just in case issue with install path from recent transition to C:\PROGRAM FILES\PHP)... see my other BUG REPORT re: changing install path with MSI installer... must specify new install path on TWO pages during installation (defaulkt overrides user input on second page)
- Have not tested php_mysqli.dll extension.
- Running IIS v5.1, PHP5 and MySQL all LOCALLY on WinXP Pro SP2 latest as of 20070606 system.  IE v7 installed.

Thoughts?  Suggestions?  Win32 backtrace required?
...Grant

Reproduce code:
---------------
<?php
echo "Hello World!<br>";

phpinfo();

?>

Expected result:
----------------
"Hello World!<br>" should be displayed OR phpinfo()should be displayed.

Actual result:
--------------
EITHER:
1. Blank/No output in IE7 window

2. Five ERROR titled pop-ups with no content... no output in main IE7 window.

3. Exception in ##### (happened twice...did not record numbers unfortunately).

4. System event log shows error 26 (or was it 29) with no content... just PHP error.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-06-07 03:04 UTC] grant at cnwtech dot ca
Forgot to mention... IE7 reports IIS 500 error when script fails.

I also see recent post where user hadsame problem and resolved by installing PHP, enabling php_mysql.dll and php_mysqli.dlls, and then installing MySQL.   I will try this and see if it resolves the problem.

...Grant
 [2007-06-07 07:47 UTC] tony2001@php.net
Please remove everything and try installing PHP from zip package.
The fact that 5.2.1 did work before and it doesn't work anymore most likely means you did something terribly wrong, probably some mess with the libs.

>Win32 backtrace required?
Sure, if you have any.
 [2007-06-08 03:14 UTC] grant at cnwtech dot ca
Tony... thanks for your response.

Well... I solved the problem.

Apparently, when you install PHP v5.2.1 or v5.2.3 and select to install the EXTENSIONS, it not only copies the files onto your computer, but it also adds statements at the end of the PHP.INI file to LOAD them.   I was not aware of this... and thought that the earlier commented extensions listed in the PHP.INI file had to be MANUALLY controlled and set by the user.   So when I uncommented the extension php_mysql.dll line... I thought I was enabling it... but in fact it was already enabled.   How did I find this out?

I went to COMMAND PROMPT and typed php.exe command... ERROR MESSAGES stating that the extensions had already been loaded... FINALLY! I still don't know why the log file and Windows SYSTEM LOG event log did not show details... perhaps a coding oversight?

I am not sure how this should be fixed with PHP... information in GUI installation stating selected extensions will be installed and LOADED (at end of PHP.INI file, not the earlier commented lines)?   Or perhaps end user education and understanding?  

For me... my opinion is... 
Why would you have TWO places within the same PHP.INI file to control loading EXTENSIONS... seems redundant and confusing to me... installation should just UNCOMMENT the specific extensions code in the middle of the PHP.INI file.

Thoughts?
 [2007-06-11 14:56 UTC] sniper@php.net
John, considering the last comment above, this is for you.. :)
 [2007-06-11 15:14 UTC] jmertic@php.net
I'll remove the top section of extensions to avoid confusion.
 [2007-06-11 15:56 UTC] jmertic@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sat Nov 27 18:03:14 2021 UTC