bug #19384 Fix PHP 7.1 related failures (nicolas-grekas)
This PR was merged into the 2.7 branch.
Discussion
----------
Fix PHP 7.1 related failures
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
PHP 7.1 triggers notices on previously silent implicit type changes.
Commits
-------
07467ed
Fix PHP 7.1 related failures
This commit is contained in:
commit
37cd583e78
10
.travis.yml
10
.travis.yml
@ -26,8 +26,9 @@ matrix:
|
|||||||
- php: 5.4
|
- php: 5.4
|
||||||
- php: 5.5
|
- php: 5.5
|
||||||
- php: 5.6
|
- php: 5.6
|
||||||
env: deps=high
|
|
||||||
- php: 7.0
|
- php: 7.0
|
||||||
|
env: deps=high
|
||||||
|
- php: 7.1
|
||||||
env: deps=low
|
env: deps=low
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|
||||||
@ -50,13 +51,12 @@ before_install:
|
|||||||
- if [[ ! $skip ]]; then echo session.gc_probability = 0 >> $INI_FILE; fi
|
- if [[ ! $skip ]]; then echo session.gc_probability = 0 >> $INI_FILE; fi
|
||||||
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = mongo.so >> $INI_FILE; fi
|
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = mongo.so >> $INI_FILE; fi
|
||||||
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = memcache.so >> $INI_FILE; fi
|
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = memcache.so >> $INI_FILE; fi
|
||||||
- if [[ ! $skip && $PHP = 5.* ]]; then (echo yes | pecl install -f apcu-4.0.10 && echo apc.enable_cli = 1 >> $INI_FILE); fi
|
- if [[ ! $skip && $PHP = 5.* ]]; then (echo yes | pecl install -f apcu-4.0.11 && echo apc.enable_cli = 1 >> $INI_FILE); fi
|
||||||
- if [[ ! $skip && $PHP = 7.* ]]; then (echo yes | pecl install -f apcu-5.1.2 && echo apc.enable_cli = 1 >> $INI_FILE); fi
|
- if [[ ! $skip && $PHP = 7.0 ]]; then (echo yes | pecl install -f apcu-5.1.5 && echo apc.enable_cli = 1 >> $INI_FILE); fi
|
||||||
- if [[ ! $deps && $PHP = 5.* ]]; then (cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && echo extension = $(pwd)/modules/symfony_debug.so >> $INI_FILE); fi
|
- if [[ ! $deps && $PHP = 5.* ]]; then (cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && echo extension = $(pwd)/modules/symfony_debug.so >> $INI_FILE); fi
|
||||||
- if [[ ! $skip && $PHP = 5.* ]]; then pecl install -f memcached-2.1.0; fi
|
- if [[ ! $skip && $PHP = 5.* ]]; then pecl install -f memcached-2.1.0; fi
|
||||||
- if [[ ! $skip && ! $PHP = hhvm* ]]; then echo extension = ldap.so >> $INI_FILE; fi
|
- if [[ ! $skip && ! $PHP = hhvm* ]]; then echo extension = ldap.so >> $INI_FILE; fi
|
||||||
- if [[ ! $skip && ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini; fi
|
- if [[ ! $skip && ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
|
||||||
- if [[ ! $skip ]]; then composer self-update --stable; fi
|
|
||||||
- if [[ ! $skip ]]; then cp .composer/* ~/.composer/; fi
|
- if [[ ! $skip ]]; then cp .composer/* ~/.composer/; fi
|
||||||
- if [[ ! $skip ]]; then ./phpunit install; fi
|
- if [[ ! $skip ]]; then ./phpunit install; fi
|
||||||
- if [[ ! $skip ]]; then export PHPUNIT=$(readlink -f ./phpunit); fi
|
- if [[ ! $skip ]]; then export PHPUNIT=$(readlink -f ./phpunit); fi
|
||||||
|
@ -23,5 +23,5 @@ class ProjectServiceContainer extends Container
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class stdClass_%s extends \stdClass implements \ProxyManager\%s
|
class stdClass_%s extends %SstdClass implements \ProxyManager\%s
|
||||||
{%a}%A
|
{%a}%A
|
@ -33,7 +33,7 @@
|
|||||||
"symfony/security-acl": "~2.6",
|
"symfony/security-acl": "~2.6",
|
||||||
"symfony/stopwatch": "~2.2",
|
"symfony/stopwatch": "~2.2",
|
||||||
"symfony/console": "~2.7",
|
"symfony/console": "~2.7",
|
||||||
"symfony/var-dumper": "~2.6",
|
"symfony/var-dumper": "~2.7.16|~2.8.9",
|
||||||
"symfony/expression-language": "~2.4"
|
"symfony/expression-language": "~2.4"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -396,7 +396,7 @@ class Table
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a two dimensional array (rowspan x colspan)
|
// create a two dimensional array (rowspan x colspan)
|
||||||
$unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, ''), $unmergedRows);
|
$unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, array()), $unmergedRows);
|
||||||
foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) {
|
foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) {
|
||||||
$value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : '';
|
$value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : '';
|
||||||
$unmergedRows[$unmergedRowKey][$column] = new TableCell($value, array('colspan' => $cell->getColspan()));
|
$unmergedRows[$unmergedRowKey][$column] = new TableCell($value, array('colspan' => $cell->getColspan()));
|
||||||
|
@ -34,7 +34,7 @@ class CrossCheckTest extends \PHPUnit_Framework_TestCase
|
|||||||
$loaderClass = 'Symfony\\Component\\DependencyInjection\\Loader\\'.ucfirst($type).'FileLoader';
|
$loaderClass = 'Symfony\\Component\\DependencyInjection\\Loader\\'.ucfirst($type).'FileLoader';
|
||||||
$dumperClass = 'Symfony\\Component\\DependencyInjection\\Dumper\\'.ucfirst($type).'Dumper';
|
$dumperClass = 'Symfony\\Component\\DependencyInjection\\Dumper\\'.ucfirst($type).'Dumper';
|
||||||
|
|
||||||
$tmp = tempnam('sf_service_container', 'sf');
|
$tmp = tempnam(sys_get_temp_dir(), 'sf');
|
||||||
|
|
||||||
file_put_contents($tmp, file_get_contents(self::$fixturesPath.'/'.$type.'/'.$fixture));
|
file_put_contents($tmp, file_get_contents(self::$fixturesPath.'/'.$type.'/'.$fixture));
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
"php": ">=5.3.9"
|
"php": ">=5.3.9"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/yaml": "~2.1",
|
"symfony/yaml": "~2.3.42|~2.7.14|~2.8.7",
|
||||||
"symfony/config": "~2.2",
|
"symfony/config": "~2.2",
|
||||||
"symfony/expression-language": "~2.6"
|
"symfony/expression-language": "~2.6"
|
||||||
},
|
},
|
||||||
|
@ -130,7 +130,7 @@ class OrderedHashMap implements \ArrayAccess, \IteratorAggregate, \Countable
|
|||||||
? 0
|
? 0
|
||||||
// Imitate PHP's behavior of generating a key that equals
|
// Imitate PHP's behavior of generating a key that equals
|
||||||
// the highest existing integer key + 1
|
// the highest existing integer key + 1
|
||||||
: max($this->orderedKeys) + 1;
|
: 1 + (int) max($this->orderedKeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->orderedKeys[] = $key;
|
$this->orderedKeys[] = $key;
|
||||||
|
@ -20,7 +20,7 @@ abstract class CacheWarmer implements CacheWarmerInterface
|
|||||||
{
|
{
|
||||||
protected function writeCacheFile($file, $content)
|
protected function writeCacheFile($file, $content)
|
||||||
{
|
{
|
||||||
$tmpFile = tempnam(dirname($file), basename($file));
|
$tmpFile = @tempnam(dirname($file), basename($file));
|
||||||
if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
|
if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
|
||||||
@chmod($file, 0666 & ~umask());
|
@chmod($file, 0666 & ~umask());
|
||||||
|
|
||||||
|
@ -88,20 +88,22 @@ class File extends Constraint
|
|||||||
|
|
||||||
private function normalizeBinaryFormat($maxSize)
|
private function normalizeBinaryFormat($maxSize)
|
||||||
{
|
{
|
||||||
|
$sizeInt = (int) $maxSize;
|
||||||
|
|
||||||
if (ctype_digit((string) $maxSize)) {
|
if (ctype_digit((string) $maxSize)) {
|
||||||
$this->maxSize = (int) $maxSize;
|
$this->maxSize = $sizeInt;
|
||||||
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
||||||
} elseif (preg_match('/^\d++k$/i', $maxSize)) {
|
} elseif (preg_match('/^\d++k$/i', $maxSize)) {
|
||||||
$this->maxSize = $maxSize * 1000;
|
$this->maxSize = $sizeInt * 1000;
|
||||||
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
||||||
} elseif (preg_match('/^\d++M$/i', $maxSize)) {
|
} elseif (preg_match('/^\d++M$/i', $maxSize)) {
|
||||||
$this->maxSize = $maxSize * 1000000;
|
$this->maxSize = $sizeInt * 1000000;
|
||||||
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
|
||||||
} elseif (preg_match('/^\d++Ki$/i', $maxSize)) {
|
} elseif (preg_match('/^\d++Ki$/i', $maxSize)) {
|
||||||
$this->maxSize = $maxSize << 10;
|
$this->maxSize = $sizeInt << 10;
|
||||||
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
|
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
|
||||||
} elseif (preg_match('/^\d++Mi$/i', $maxSize)) {
|
} elseif (preg_match('/^\d++Mi$/i', $maxSize)) {
|
||||||
$this->maxSize = $maxSize << 20;
|
$this->maxSize = $sizeInt << 20;
|
||||||
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
|
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
|
||||||
} else {
|
} else {
|
||||||
throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $this->maxSize));
|
throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $this->maxSize));
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/common": "~2.3",
|
"doctrine/common": "~2.3",
|
||||||
"symfony/http-foundation": "~2.1",
|
"symfony/http-foundation": "~2.3",
|
||||||
"symfony/intl": "~2.7.4|~2.8",
|
"symfony/intl": "~2.7.4|~2.8",
|
||||||
"symfony/yaml": "~2.0,>=2.0.5",
|
"symfony/yaml": "~2.0,>=2.0.5",
|
||||||
"symfony/config": "~2.2",
|
"symfony/config": "~2.2",
|
||||||
|
Reference in New Issue
Block a user