[英]Error after upgrading to Symfony 5.3 and updading flex recipes (symfony:recipes:install --force)
嘗試在全新/干凈的 symfony 5.2 項目(即composer create-project symfony/website-skeleton:"5.2.*" s5test
)上執行“次要”版本升級(5.2 到 5.3)
然后我只是添加一個主頁用於測試目的( https://symfony.com/doc/current/page_creation.html )
在composer.json 中:我將5.2.*
的所有實例更改為5.3.*
:“symfony/...”:“5.2. ”為“symfony/...”:“5.3. ”“symfony/...” : "^5.2 到 "symfony/...": "^5.3" 等等。
然后我執行composer update "symfony/*" --with-all-dependencies
] 運行正常。
要完成升級,我需要更新六個軟件包的 flex 配方:
一切安裝正常。
但是在安裝 symfony/console 配方( composer recipes:install symfony/console --force -v
)之后,我嘗試運行composer update
並且cache:clear
部分更新失敗並出現錯誤:
執行腳本緩存:清除 [KO] [KO] 腳本緩存:清除返回錯誤代碼 255 !! 通過 post-update-cmd 調用腳本 @auto-scripts
在更新symfony/framework-bundle
的 flex 配方后( composer recipes:install symfony/framework-bundle --force -v
)我在嘗試訪問應用程序時得到一個空白頁面,而var/log/dev.log
沒有任何內容
@yivi 他的回答很好,解決了主要問題。 但是在我安裝composer require symfony/runtime
之后,我還必須更改 public/index.php 文件。
以前是這樣的:
<?php
use App\Kernel;
use Symfony\Component\ErrorHandler\Debug;
use Symfony\Component\HttpFoundation\Request;
require dirname(__DIR__).'/config/bootstrap.php';
if ($_SERVER['APP_DEBUG']) {
umask(0000);
Debug::enable();
}
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
}
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
Request::setTrustedHosts([$trustedHosts]);
}
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
但在 5.4 中是這樣的:
<?php
use App\Kernel;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (array $context) {
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};
現在一切順利且完美。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.