我的 Symfony 專案版本4.4.9出現問題,使用 PHP 8。當我運行php bin/console make:entity這些錯誤時:
要使用 Doctrine 物體屬性,您需要 PHP 8、doctrine/orm 2.9、doctrine/doctrine-bundle 2.4 和 symfony/framework-bundle 5.2。
作曲家.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

uj5u.com熱心網友回復:
在 PHP 8 下運行 Symfony 4.4 Symfony Maker Bundle 似乎是一個問題。
我可以通過在 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。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/425504.html
上一篇:從5.3升級到Symfony6
