Symfony 5.4.9 Composer detected issues in your platform:

Viewed 7035

I am totally new to Symfony. After I installed Symfony on my local ddev machine, I get this error

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 /var/www/html/symfony/vendor/composer/platform_check.php on line 24

I tried to composer install --ignore-platform-reqs as well, and soon as I run it, I get this error message

Parse error: syntax error, unexpected '|', expecting variable (T_VARIABLE) in /var/www/html/symfony/vendor/psr/log/src/LoggerInterface.php on line 30

My php version is

❯ php -v
PHP 8.1.6 (cli) (built: May 12 2022 23:44:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.6, Copyright (c), by Zend Technologies

Compose.json

    "type": "project",
    "license": "proprietary",
    "minimum-stability": "stable",
    "prefer-stable": true,
    "require": {
        "php": ">=7.2.5",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "symfony/console": "*",
        "symfony/dotenv": "*",
        "symfony/flex": "^1.17|^2",
        "symfony/framework-bundle": "*",
        "symfony/runtime": "*",
        "symfony/yaml": "*"
    },
    "require-dev": {
    },
    "config": {

Thanks for help

3 Answers

Edit these 2 things in your composer.json to solve your problem :

 "require": {
        "php": ">=8.1",
}

And

"config": {
        "platform": {
            "php": "8.1.6"
        },
    },

Run this command:

symfony local:php:list

You will get some output listing the various versions of php you have installed on your computer and the one being used by the symfony binary will be highlighted. There will also be instructions on how to control the version used by the binary:

To control the version used in a directory, create a .php-version file that contains the version number (e.g. 7.2 or 7.2.15).

I got the exactly the same errors in my Laravel fresh install.

My local server env is Vagrant Ubuntu Nginx. And I have multiple php versions installes in my local. To list:

$ update-alternatives --display php

Check the php cli version:

$ php -v

Then create a info.php file and see the project runing php version <?php echo phpinfo();

There will be 2 different version.

So I changed the project runing php version via Nginx vhost file:

$ sudo vim /etc/nginx/sites-available/your-file-name

Edit the line to your required php version, and that version has to be installed in your server. So in this case, edit the below line in vhost file:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

Make sure the php version file path is correct and it is available in your given directory. In my case it is /var/run/php/php8.1-fpm.sock

Related