【问题标题】:Why is my PHP extension used by Symfony invalid after ubuntu update?为什么我的 Symfony 使用的 PHP 扩展在 ubuntu 更新后无效?
【发布时间】:2020-04-12 20:05:02
【问题描述】:

我正在做一个 Symfony 项目。昨天执行了 Ubuntu 更新(自动),现在,如果我运行

sudo composer install

然后我得到这个错误:

请求的 PHP 扩展 ext-json ^1.6 版本错误 (7.4.1) 安装。安装或启用 PHP 的 json 扩展。

我已经检查了扩展,例如:

apt-cache search php | grep json
php7.2-json - JSON module for PHP
jsonlint - validating parser of JSON data structures
php-json-schema - implementation of JSON schema
php-services-json - PHP implementaion of json_encode/decode
php-json - JSON module for PHP [default]
php5.6-json - JSON module for PHP
php7.0-json - JSON module for PHP
php7.1-json - JSON module for PHP
php7.3-json - JSON module for PHP
php7.4-json - JSON module for PHP

在 composer.json 我可以看到这一行:

"ext-json": "^1.6",

如何确保我的扩展已安装并在 composer 期望的版本中启用?

【问题讨论】:

  • 我猜您必须将其更改为 "ext-json": "*" 以允许任何版本的扩展。这应该没问题,因为 PHP 版本应该足以确保扩展版本按预期工作。否则,您可能需要检查更新的 json 扩展的版本,然后执行"ext-json": "^1.6|^2.0" 之类的操作以允许新旧版本。
  • @dbrumann 我得到了同样的错误。但是,我想避免更改 composer.json 并改用文件中指定的版本。

标签: php symfony ubuntu


【解决方案1】:

使用

"ext-json": "*",

如果它不是您的库并且您无法更改代码,请使用

composer install -n --ignore-platform-reqs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-07
    • 2020-12-14
    • 2013-05-31
    • 2018-05-20
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多