Cms: Symphony request PHP version 7.1.3 during installation of Craft3 RC

Created on 5 Dec 2017  Â·  4Comments  Â·  Source: craftcms/cms

Description

Trying to update from Craft3 beta 2.6.2999 to Craft3 RC on a server hosted at Arcustec. During the update procedure using composer this error message appears and the update process stops:

Problem 1
- symfony/debug v4.0.0 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
- symfony/debug v4.0.0 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
- Installation request for symfony/debug (locked at v4.0.0) -> satisfiable by symfony/debug[v4.0.0].

Steps to reproduce

1.
2.

Additional info

  • Craft version: Current 2.6.2999 -> Craft3 RC
  • PHP version: 7.0.22
  • Database driver & version:
  • Plugins & versions: none

Most helpful comment

We've seen this when the composer.lock file is generated in a PHP 7.1 environment, but then deployed to an environment running PHP 7.0.

To fix, you need to explicitly tell Composer what your production environment looks like, by setting config.platform in composer.json.

Example:

"config": {
  "optimize-autoloader": true,
  "platform": {
    "php": "7.0"
  }
}

Once that’s in place, run composer update to generate a new composer.lock file and downgrade to PHP 7.0-compatible dependencies, and you should be good to redeploy those to production.

All 4 comments

Can you share your composer.json file? And when you composer update, can you composer update -v and share the full console output?

composer.json:

{
  "name": "craftcms/craft",
  "description": "Craft CMS",
  "keywords": [
    "craft",
    "cms",
    "craftcms",
    "project"
  ],
  "license": "MIT",
  "homepage": "https://craftcms.com/",
  "type": "project",
  "support": {
    "email": "[email protected]",
    "issues": "https://github.com/craftcms/cms/issues",
    "forum": "https://craftcms.stackexchange.com/",
    "source": "https://github.com/craftcms/cms",
    "docs": "https://craftcms.com/docs",
    "rss": "https://craftcms.com/changelog.rss"
  },
  "minimum-stability": "beta",
  "require": {
    "php": ">=7.0.0",
    "craftcms/cms": "^3.0.0-beta.29",
    "vlucas/phpdotenv": "^2.4.0",
    "roave/security-advisories": "dev-master",
    "craftcms/aws-s3": "^1.0",
    "nystudio107/craft3-imageoptimize": "^1.3",
    "nystudio107/craft3-minify": "^1.2",
    "craftcms/simple-text": "^2.0",
    "ether/simplemap": "^3.1"
  },
  "autoload": {
    "psr-4": {
      "modules\\": "modules/"
    }
  },
  "config": {
    "optimize-autoloader": true
  },
  "scripts": {
    "post-root-package-install": [
      "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
      "@composer dump-autoload -o",
      "@php craft setup/welcome"
    ]
  }
}

update -v console output:

av04180@av04180-web-01:~/www/domainname4_html$  php /storage/av04180/bin/composer.phar update -v craftcms/cms
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/newrelic.so' - /usr/lib/php/20151012/newrelic.so: cannot open shared object file: No such file or directory in Unknown on line 0
Loading composer repositories with package information
Updating dependencies (including require-dev)
Dependency resolution completed in 0.001 seconds
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - symfony/debug v4.0.0 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
    - symfony/debug v4.0.0 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
    - symfony/debug v4.0.0 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
    - Installation request for symfony/debug (locked at v4.0.0) -> satisfiable by symfony/debug[v4.0.0].

We've seen this when the composer.lock file is generated in a PHP 7.1 environment, but then deployed to an environment running PHP 7.0.

To fix, you need to explicitly tell Composer what your production environment looks like, by setting config.platform in composer.json.

Example:

"config": {
  "optimize-autoloader": true,
  "platform": {
    "php": "7.0"
  }
}

Once that’s in place, run composer update to generate a new composer.lock file and downgrade to PHP 7.0-compatible dependencies, and you should be good to redeploy those to production.

And thanks again for the wonderful support.
It’s fixed and running.

Op 7 dec. 2017, om 18:43 heeft Brandon Kelly notifications@github.com het volgende geschreven:

Closed #2165 https://github.com/craftcms/cms/issues/2165.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/craftcms/cms/issues/2165#event-1377403330, or mute the thread https://github.com/notifications/unsubscribe-auth/AFokSmEBTfmG5SGKtGgJmB0E9qeEl4qRks5s-CPUgaJpZM4Q2-re.

Was this page helpful?
0 / 5 - 0 ratings