要使用 Doctrine 实体属性,您需要 PHP 8、doctrine/orm 2.9、doctrine/doctrine-bundle 2.4 和 symfony/framework-bundle 5.2
To use Doctrine entity attributes you'll need PHP 8, doctrine/orm 2.9, doctrine/doctrine-bundle 2.4 and symfony/framework-bundle 5.2
我的 Symfony 项目版本 4.4.9 有问题,PHP 8。当我 运行 php bin/console make:entity
这些错误出现:
To use Doctrine entity attributes you'll need PHP 8, doctrine/orm 2.9, doctrine/doctrine-bundle 2.4 and
symfony/framework-bundle 5.2.
composer.json
"php": ">=7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"doctrine/annotations": "^1.13",
"doctrine/doctrine-bundle": "^2.5",
"doctrine/doctrine-migrations-bundle": "^3.2",
"doctrine/orm": "2.9.6",
"symfony/console": "4.4.*",
"symfony/dotenv": "4.4.*",
"symfony/flex": "^1.3.1",
"symfony/framework-bundle": "4.4.*",
"symfony/proxy-manager-bridge": "4.4.*",
"symfony/yaml": "4.4.*"
},
和我的 PHP 版本:8.1
似乎是一个问题 运行 Symfony 4.4 + Symfony Maker Bundle under PHP 8+.
我可以使用在 PHP 8.
从头开始创建的项目重现该问题
$ composer create-project symfony/skeleton maker-annotations ^4.4.0
$ cd maker-annotations
$ composer require doctrine symfony/maker-bundle
$ bin/console make:entity
这在 PHP8 下会一直出错。有趣的是,您可以在同一个实体上再次调用 make:entity
,它似乎可以正常工作...但最终会由于其他原因出错。
我能找到的唯一解决方案是将 PHP 降级到 7.4。如果您使用的是 旧版本的 Symfony,无论如何使用 PHP 的旧版本可能更安全。
或者更好的是,只需将您的 Symfony 版本升级到 5.2。
我的 Symfony 项目版本 4.4.9 有问题,PHP 8。当我 运行 php bin/console make:entity
这些错误出现:
To use Doctrine entity attributes you'll need PHP 8, doctrine/orm 2.9, doctrine/doctrine-bundle 2.4 and symfony/framework-bundle 5.2.
composer.json
"php": ">=7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"doctrine/annotations": "^1.13",
"doctrine/doctrine-bundle": "^2.5",
"doctrine/doctrine-migrations-bundle": "^3.2",
"doctrine/orm": "2.9.6",
"symfony/console": "4.4.*",
"symfony/dotenv": "4.4.*",
"symfony/flex": "^1.3.1",
"symfony/framework-bundle": "4.4.*",
"symfony/proxy-manager-bridge": "4.4.*",
"symfony/yaml": "4.4.*"
},
和我的 PHP 版本:8.1
似乎是一个问题 运行 Symfony 4.4 + Symfony Maker Bundle under PHP 8+.
我可以使用在 PHP 8.
从头开始创建的项目重现该问题$ composer create-project symfony/skeleton maker-annotations ^4.4.0
$ cd maker-annotations
$ composer require doctrine symfony/maker-bundle
$ bin/console make:entity
这在 PHP8 下会一直出错。有趣的是,您可以在同一个实体上再次调用 make:entity
,它似乎可以正常工作...但最终会由于其他原因出错。
我能找到的唯一解决方案是将 PHP 降级到 7.4。如果您使用的是 旧版本的 Symfony,无论如何使用 PHP 的旧版本可能更安全。
或者更好的是,只需将您的 Symfony 版本升级到 5.2。