php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #55706 php.ini directives will lock once they are used in a host specific section
Submitted: 2011-09-16 08:39 UTC Modified: -
From: mehran20 at hotmail dot com Assigned:
Status: Open Package: Dynamic loading
PHP Version: 5.3.8 OS: Windows XP SP3
Private report: No CVE-ID:
Password:
Status:
Package:
Bug Type:
Summary:
From: mehran20 at hotmail dot com
New email:
PHP Version: OS:

 

 [2011-09-16 08:39 UTC] mehran20 at hotmail dot com
Description:
------------
PHP version: 5.3.8-ZS5.5.0

ini_set function returns false if the given directive is named in a host specific 
section. As the result, the directive's value is not changed. This bug is 
reproducible with other similar functions like set_include_path.

Don't forget to restart your webserver before testing since this bug requires 
modifying php.ini file.

Test script:
---------------
Insert the following section into your php.ini file:<br />
<br />
[Zend]<br />
include_path=".;C:\Program Files\Zend\ZendServer\share\ZendFramework\library"<br />
<br />
[HOST=anything.com]<br />
include_path=".;C:\my_library"<br />
<br />
<?php
echo "Executing: ini_set('include_path', 'C:\another_library')<br />\n";
$result = ini_set('include_path', 'C:\another_library');

echo 'ini_set returned: ' . ($result ? 'true' : 'false');
echo "<br />\n";
echo 'And current value for directive is: ' . ini_get('include_path');

Expected result:
----------------
Insert the following section into your php.ini file:<br />
<br />
[Zend]<br />
include_path=".;C:\Program Files\Zend\ZendServer\share\ZendFramework\library"<br 
/>
<br />
[HOST=anything.com]<br />
include_path=".;C:\my_library"<br />
<br />
Executing: ini_set('include_path', 'C:\another_library')<br />
ini_set returned: true<br />
And current value for directive is: .;C:\another_library

Actual result:
--------------
Insert the following section into your php.ini file:<br />
<br />
[Zend]<br />
include_path=".;C:\Program Files\Zend\ZendServer\share\ZendFramework\library"<br 
/>
<br />
[HOST=anything.com]<br />
include_path=".;C:\my_library"<br />
<br />
Executing: ini_set('include_path', 'C:\another_library')<br />
ini_set returned: false<br />
And current value for directive is: .;C:\my_library

Patches

Add a Patch

Pull Requests

Add a Pull Request

 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Tue Apr 25 14:01:39 2017 UTC