diff --git a/.travis.yml b/.travis.yml index 81b4009e8..f8e4e723e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ matrix: env: DB=SQLITE - php: 7.4snapshot - env: DB=SQLITE + env: DB=SQLITE INSTALL_PHPUNIT_FORK=1 # CMS test - php: 5.5 @@ -58,6 +58,7 @@ before_script: - if ! [ $(phpenv version-name) = "5.3" ]; then printf "\n" | travis_retry pecl install imagick; fi - if [ $(phpenv version-name) = "5.3" ]; then printf "\n" | travis_retry pecl install imagick-3.3.0; fi - composer self-update || true + - if [ $INSTALL_PHPUNIT_FORK ]; then composer require --no-update --dev sminnee/phpunit-mock-objects:^3.4.7; fi - phpenv rehash - phpenv config-rm xdebug.ini || true - echo 'memory_limit = 3G' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini diff --git a/composer.json b/composer.json index 622079296..bf7a3bb3a 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ }, "require-dev": { "phpunit/phpunit": "^3 || ^4 || ^5" - }, + }, "extra": [], "autoload": { "psr-0": { @@ -63,4 +63,4 @@ "core/compat" ] } -} \ No newline at end of file +} diff --git a/docs/en/04_Changelogs/3.7.4.md b/docs/en/04_Changelogs/3.7.4.md new file mode 100644 index 000000000..8278bf9ec --- /dev/null +++ b/docs/en/04_Changelogs/3.7.4.md @@ -0,0 +1,19 @@ +# 3.7.4 (unreleased) + +* [Minor update to support PHP 7.4](https://github.com/silverstripe/silverstripe-framework/pull/9110) + +## Running SilverStripe 3.7 on PHP 7.4 + +SilverStripe's standard test tools require `phpunit/phpunit-mock-objects` to run. This package has been deprecated and +doesn't support PHP 7.4. + +SilverStripe is using a fork for its own PHP 7.3 unit tests: `sminnee/phpunit-mock-objects`. + +You can use this fork for your own project by running this command: +```bash +composer require --dev sminnee/phpunit-mock-objects:^3.4.7 +``` + +This fork is not a supported module and SilverStripe does not commit to maintaining it. + + diff --git a/filesystem/GD.php b/filesystem/GD.php index 4b863c712..488b8b067 100644 --- a/filesystem/GD.php +++ b/filesystem/GD.php @@ -140,7 +140,11 @@ class GDBackend extends SS_Object implements Image_Backend { $bytesPerPixel = $bits * $channels; // width * height * bytes per pixel - $memoryRequired = $imageInfo[0] * $imageInfo[1] * $bytesPerPixel; + if ($imageInfo) { + $memoryRequired = $imageInfo[0] * $imageInfo[1] * $bytesPerPixel; + } else { + $memoryRequired = 0; + } return $memoryRequired + memory_get_usage() < $limit; }