php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41408 PHPIniDir Uses Backslashes in httpd.conf so can't find php.ini
Submitted: 2007-05-16 11:54 UTC Modified: 2008-08-22 18:10 UTC
From: alison dot holloway at oracle dot com Assigned: jmertic (profile)
Status: Closed Package: Windows Installer
PHP Version: 5.2.2 OS: Windows XP SP2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: alison dot holloway at oracle dot com
New email:
PHP Version: OS:

 

 [2007-05-16 11:54 UTC] alison dot holloway at oracle dot com
Description:
------------
The httpd.conf files in Apache2 uses backslashes in the PHPIniDir parameter, so the path for php.ini is set to C:\Windows, instead of where PHP is installed. This means that no extensions or configuration changes are made. Only the default PHP settings are available.

While there are some similar bugs (Bug #39799: Windows installer does not set PHPIniDir properly), they suggest the fix is in this release, but it still doesn't work as expected, so continuing with logging this bug.

Reproduce code:
---------------
Install Apache 2.0.59 on Windows XP Pro SP2.
Install PHP 5.2.2 using .msi installer.
Create phpinfo() file and check the location of the php.ini file.
Location of php.ini is set to C:\WINDOWS.
Change following line in httpd.conf

PHPIniDir "C:\Program Files\PHP\"

Save and restart Apache.

The location of php.ini is now set correctly to C:\Program Files\PHP\php.ini.

All extensions and configuration is now correct.


Expected result:
----------------
Expected extensions to be loaded, but were not.

Actual result:
--------------
No extensions loaded.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-05-16 12:47 UTC] jmertic@php.net
What is the value of PHPIniDir before you make the change?
 [2007-05-16 17:17 UTC] jmertic@php.net
Try latest installer from snaps to see if it does the correct behavior.

http://snaps.php.net/win32/php5.2-win32-installer-latest.msi
 [2007-05-16 17:38 UTC] jmertic@php.net
Nevermind that, snaps isn't building a working installer at the moment. 

I'm going to get the installer respun for 5.2.2 here shortly.
 [2007-05-16 18:15 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.


 [2007-05-21 18:29 UTC] jmertic@php.net
Try the following "unoffical" re-spin:

http://files.edin.dk/php/installer/php-5.2.2-2-win32-installer.msi
 [2007-05-24 07:12 UTC] alison dot holloway at oracle dot com
I tested the new release. It works. I seem to remember reading that double back slashes are the same as a forward slash, so I'm assuming that's why it now works.

The entry in httpd.conf is now:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\\Program Files\\PHP\\"
LoadModule php5_module "C:\\Program Files\\PHP\\php5apache2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Although the phpinfo() displays the following output:

Configuration File (php.ini) Path 	C:\WINDOWS
Loaded Configuration File 	C:\Program Files\PHP\php.ini

For some reason the path is still showing the incorrect folder, but it is loading the correct file.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Nov 28 05:03:12 2021 UTC