Navigation Menu

Skip to content

Commit

Permalink
bug #29020 Fix ini_get() for boolean values (deguif)
Browse files Browse the repository at this point in the history
This PR was merged into the 2.8 branch.

Discussion
----------

Fix ini_get() for boolean values

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Currently setting `false` or `off`, ... value to configure some PHP ini directives will make this evaluated to `true` as this is equal to a non empty string.

Commits
-------

a153869 Fix ini_get() for boolean values
  • Loading branch information
fabpot committed Oct 31, 2018
2 parents 2dfb039 + a153869 commit 5a2969c
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 15 deletions.
Expand Up @@ -19,7 +19,7 @@ class ApcClassLoaderTest extends TestCase
{
protected function setUp()
{
if (!(ini_get('apc.enabled') && ini_get('apc.enable_cli'))) {
if (!(filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN))) {
$this->markTestSkipped('The apc extension is not enabled.');
} else {
apcu_clear_cache();
Expand All @@ -28,7 +28,7 @@ protected function setUp()

protected function tearDown()
{
if (ini_get('apc.enabled') && ini_get('apc.enable_cli')) {
if (filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
apcu_clear_cache();
}
}
Expand Down
Expand Up @@ -21,7 +21,7 @@ class LegacyApcUniversalClassLoaderTest extends TestCase
{
protected function setUp()
{
if (ini_get('apc.enabled') && ini_get('apc.enable_cli')) {
if (filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
apcu_clear_cache();
} else {
$this->markTestSkipped('APC is not enabled.');
Expand All @@ -30,7 +30,7 @@ protected function setUp()

protected function tearDown()
{
if (ini_get('apc.enabled') && ini_get('apc.enable_cli')) {
if (filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
apcu_clear_cache();
}
}
Expand Down
Expand Up @@ -151,7 +151,7 @@ public function write($content, array $metadata = null)
}
}

if (\function_exists('opcache_invalidate') && ini_get('opcache.enable')) {
if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
@opcache_invalidate($this->file, true);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/Symfony/Component/Debug/Debug.php
Expand Up @@ -45,7 +45,7 @@ public static function enable($errorReportingLevel = null, $displayErrors = true
if (!\in_array(\PHP_SAPI, array('cli', 'phpdbg'), true)) {
ini_set('display_errors', 0);
ExceptionHandler::register();
} elseif ($displayErrors && (!ini_get('log_errors') || ini_get('error_log'))) {
} elseif ($displayErrors && (!filter_var(ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN) || ini_get('error_log'))) {
// CLI - display errors only if they're not already logged to STDERR
ini_set('display_errors', 1);
}
Expand Down
Expand Up @@ -63,10 +63,10 @@ public function collect(Request $request, Response $response, \Exception $except
'php_version' => PHP_VERSION,
'xdebug_enabled' => \extension_loaded('xdebug'),
'eaccel_enabled' => \extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
'apc_enabled' => \extension_loaded('apc') && ini_get('apc.enabled'),
'xcache_enabled' => \extension_loaded('xcache') && ini_get('xcache.cacher'),
'wincache_enabled' => \extension_loaded('wincache') && ini_get('wincache.ocenabled'),
'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && ini_get('opcache.enable'),
'apc_enabled' => \extension_loaded('apc') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN),
'xcache_enabled' => \extension_loaded('xcache') && filter_var(ini_get('xcache.cacher'), FILTER_VALIDATE_BOOLEAN),
'wincache_enabled' => \extension_loaded('wincache') && filter_var(ini_get('wincache.ocenabled'), FILTER_VALIDATE_BOOLEAN),
'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN),
'bundles' => array(),
'sapi_name' => \PHP_SAPI,
);
Expand Down
Expand Up @@ -45,13 +45,13 @@ public function testCollect()
// if else clause because we don't know it
if (((\extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'))
||
(\extension_loaded('apc') && ini_get('apc.enabled'))
(\extension_loaded('apc') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN))
||
(\extension_loaded('Zend OPcache') && ini_get('opcache.enable'))
(\extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN))
||
(\extension_loaded('xcache') && ini_get('xcache.cacher'))
(\extension_loaded('xcache') && filter_var(ini_get('xcache.cacher'), FILTER_VALIDATE_BOOLEAN))
||
(\extension_loaded('wincache') && ini_get('wincache.ocenabled')))) {
(\extension_loaded('wincache') && filter_var(ini_get('wincache.ocenabled'), FILTER_VALIDATE_BOOLEAN)))) {
$this->assertTrue($c->hasAccelerator());
} else {
$this->assertFalse($c->hasAccelerator());
Expand Down
Expand Up @@ -22,7 +22,7 @@ class LegacyApcCacheTest extends TestCase
{
protected function setUp()
{
if (!ini_get('apc.enabled') || !ini_get('apc.enable_cli')) {
if (!filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) || !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
$this->markTestSkipped('APC is not enabled.');
}
}
Expand Down

0 comments on commit 5a2969c

Please sign in to comment.