Ubuntu 18.04 ondrej php7.3-将 php8.0 作为默认 php

Ubuntu 18.04 ondrej php7.3-将 php8.0 作为默认 php

Ubuntu 18.04 ondrej php7.3-将 php8.0 作为默认 php

Magento2.3 / Composer1 中出现错误..

phpunit/phpunit 6.5.14 需要 php ^7.0 -> 您的 PHP 版本 (8.0.2) 不满足该要求

这是什么意思:

-> sudo a2enmod php7.3
Considering dependency mpm_prefork for php7.3:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.3:
Module php7.3 already enabled

-> sudo a2dismod php8.0
Module php8.0 already disabled

答案1

这是一个非常很容易修复。问题出在你的composer.json文件中,因为你可能有这样的文件:

"require": {
    "php": ">=7.3",
    ...
},

将该行更改为:

"require": {
    "php": "^7.3|^8.0",
    ...
},

这将允许项目使用任一版本。

答案2

phpunit/phpunit 6.5.14 需要 php ^7.0 -> 您的 PHP 版本 (8.0.2) 不满足该要求

这意味着phpunit/phpunit需要一个PHP 7.0,而您已经PHP 8.0.2在您的环境中安装了。

我推荐以下命令集:

  1. CD到文件所在的项目根目录composer.json

    $ cd /home/someuser/myproject
    
  2. 使用以下命令根据系统上安装的相关 PHP 版本更新所有依赖项:

    $ composer update
    

这将根据您系统上安装的相关 PHP 版本自动将您的依赖项更新为最新的稳定版本(就您而言8.0.2)。请确保在将更改部署到生产环境之前测试整个系统。

答案3

如果 sudo a2dismod php8.0没有禁用php8.0模块,并且无法将php模块切换为php7.4,那么您可以尝试以下操作:

sudo a2disconf php8.0-fpm
sudo a2enmod php7.4
sudo systemctl reload apache2

相关内容