Skip to content

Console command build:project starts subprocess with system-default PHP instead of the runtime PHP #915

Open
@kanevbg

Description

Running the console command build:project with non-default PHP is not working as expected because the command runs sub-process vendor/bin/codecept build without specifying the PHP binary to run with, that in results makes the composer auto-loader utilize the default PHP binary from the system, which is not expected as we may have executed the build:project command with non system default PHP, eg:

php81 vendor/bin/mftf build:project

Preconditions

No preconditions really, it's logical issues, but to see a practical problem you may use PHP 7.4 (or older) as default system PHP and install the MFTF with PHP 8.1 binary not aliased as php in the bash environment.

Expected result

Successful build.

Actual result

Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.29. in vendor/composer/platform_check.php on line 24

In BuildProjectCommand.php line 106:
                                                                                                 
  The codecept build command failed unexpectedly. Please see the above output for more details.                                                                                                

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions