pantheon-systems / terminus

The Pantheon CLI — a standalone utility for performing operations on the Pantheon Platform
https://pantheon.io
Other
318 stars 196 forks source link

PHP Fatal error: Terminus has colliding constructor definitions -- PHP 5.5.9 #1799

Open rubelyn opened 6 years ago

rubelyn commented 6 years ago

Actual behavior

Terminus throwing errorr after updating to latest version:

PHP Fatal error: Pantheon\Terminus\Models\Environment has colliding constructor definitions coming from traits in /usr/local/google/home/markwill/bin/terminus/vendor/pantheon-systems/terminus/src/Models/Environment.php on line 879

PHP Fatal error: Pantheon\Terminus\Models\Branch has colliding constructor definitions coming from traits in /home/marco/terminus/vendor/pantheon-systems/terminus/src/Models/Branch.php on line 40

As per our doc, Terminus should work with PHP Version 5.5.9 -https://pantheon.io/docs/terminus/install/

Working in PHP 7.0

Additional info;

php -v PHP 5.5.9-1ubuntu4.22 (cli) (built: Aug 4 2017 19:40:28) Copyright © 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright © 1998-2014 Zend Technologies with Zend OPcache v7.0.3, Copyright © 1999-2014, by Zend Technologies

Requesting additional info from customers.

greg-1-anderson commented 6 years ago

I discussed this with a customer in #power-users last night. I could not reproduce in PHP 7.0 or in PHP 5.5. Perhaps this is only a problem in older versions of PHP 5.5, or could depend on settings in php.ini.

https://pantheon-community.slack.com/archives/C2GJ3JG7Q/p1510880255000042

angela-G commented 6 years ago

I ran into a similar problem on a Windows machine.

$ terminus

Fatal error: Pantheon\Terminus\Models\Branch has colliding constructor definitions coming from traits in C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\src\Models\Branch.php on line 40

Call Stack:
    0.0005     233672   1. {main}() C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\bin\terminus:0
    0.0550     654040   2. Pantheon\Terminus\Terminus->__construct() C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\bin\terminus:43
    0.1154    1262312   3. Pantheon\Terminus\Terminus->configureContainer() C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\src\Terminus.php:77
    0.1254    1352752   4. Pantheon\Terminus\Terminus->addDirToContainer() C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\src\Terminus.php:210
    0.1411    1503056   5. League\Container\Container->add() C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\src\Terminus.php:153
    0.1411    1503104   6. League\Container\Definition\DefinitionFactory->getDefinition() C:\Users\Developer\terminus\vendor\league\container\src\Container.php:142
    0.1412    1503152   7. class_exists() C:\Users\Developer\terminus\vendor\league\container\src\Definition\DefinitionFactory.php:20
    0.1412    1503488   8. spl_autoload_call() C:\Users\Developer\terminus\vendor\league\container\src\Definition\DefinitionFactory.php:20
    0.1412    1503536   9. Composer\Autoload\ClassLoader->loadClass() C:\Users\Developer\terminus\vendor\league\container\src\Definition\DefinitionFactory.php:0
    0.1413    1503688  10. Composer\Autoload\includeFile() C:\Users\Developer\terminus\vendor\composer\ClassLoader.php:322
    0.1416    1506424  11. include('C:\Users\Developer\terminus\vendor\pantheon-systems\terminus\src\Models\Branch.php') C:\Users\Developer\terminus\vendor\composer\ClassLoader.php:444

PHP version is 5.5.12

php -v
PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

Is there any information, what settings in php.ini can cause this error?

greg-1-anderson commented 6 years ago

Try upgrading to php 5.6, or at least use a later version of 5.5.

angela-G commented 6 years ago

Upgrading to php 5.6 helped.

Thanks for help!

AronNovak commented 6 years ago

Just experienced this issue, if it's not solvable under PHP 5.5.9, the requirements should be updated: https://github.com/pantheon-systems/terminus#required

PHP version 5.5.9 or later