Typo3 从 v11 升级到 v12,升级向导不起作用

问题描述 投票:0回答:1

问题:

After Typo3 composer upgrade from 11.5.39 (11LTS) to 12.4.19 (12LTS)
the Upgrade Wizard is not working.

环境:

Typo3 composer installation 11.5.39
composer 2.7.7
on Debian Bookworm
php 8.3.10
Apache
all Typo3 debug and error options switched on
Upgrade following official documents at
 https://docs.typo3.org/m/typo3/guide-installation/12.4/en-us/Major/Index.html
All System Requirements are fulfilled
All extensions, except for the site theme, are removed.

错误:

The usual case:
 When clicking in the Install Backend on Upgrade Wizard, I don't get any error,
 just two pink error pop ups with
  "Something went wrong The request was not processed successfully.
  Please check the browser's console and TYPO3's log."
 Browser console, Typo3 log and php log don't give any error,
 apache2 access logs give code 200 (ok).

The sometimes case:
 In some unclear circumstances I get a detailed Ajax error, and this is also
  reflected in Typo3 error log as (formatted a bit and clipped):

 Wed, 21 Aug 2024 13:26:29 +0200 [CRITICAL] request="773899d0627ec"
  component="TYPO3.CMS.Core.Error.DebugExceptionHandler":
  Core: Exception handler (WEB: BE): TYPO3\CMS\Core\Error\Exception, code #1476107295,
  file /var/www/html/typo3/vendor/typo3/cms-core/Classes/Error/ErrorHandler.php, line 138: 
  PHP Warning:
  file_put_contents(/var/www/html/typo3/var/cache/code/di/66c5cee5312b3891804751.temp):
  Failed to open stream: No such file or directory in
  /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php line 229
  ...
  TYPO3\\CMS\\Core\\Http\\AbstractApplication->run()
  #21 /var/www/html/typo3/public/typo3/install.php(20): {closure}()\n#22 {main}"}

 All permissions are ok, file system is totally fine, there is no reason why this file
 can't be written or created.

完整错误:

Wed, 21 Aug 2024 13:26:29 +0200 [CRITICAL] request="773899d0627ec" component="TYPO3.CMS.Core.Error.DebugExceptionHandler": Core: Exception handler (WEB: BE): TYPO3\CMS\Core\Error\Exception, code #1476107295, file /var/www/html/typo3/vendor/typo3/cms-core/Classes/Error/ErrorHandler.php, line 138: PHP Warning: file_put_contents(/var/www/html/typo3/var/cache/code/di/66c5cee5312b3891804751.temp): Failed to open stream: No such file or directory in /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php line 229- Exception: PHP Warning: file_put_contents(/var/www/html/typo3/var/cache/code/di/66c5cee5312b3891804751.temp): Failed to open stream: No such file or directory in /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php line 229, in file /var/www/html/typo3/vendor/typo3/cms-core/Classes/Error/ErrorHandler.php:138 - {"mode":"WEB","application_mode":"BE","exception_class":"TYPO3\\CMS\\Core\\Error\\Exception","exception_code":1476107295,"file":"/var/www/html/typo3/vendor/typo3/cms-core/Classes/Error/ErrorHandler.php","line":138,"message":"PHP Warning: file_put_contents(/var/www/html/typo3/var/cache/code/di/66c5cee5312b3891804751.temp): Failed to open stream: No such file or directory in /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php line 229","request_url":"https://webcms7-test.inet.dkfz-heidelberg.de/typo3/install.php?install%5Bcontroller%5D=upgrade&install%5Bcontext%5D=&install%5Baction%5D=upgradeWizardsDoneUpgrades","exception":"TYPO3\\CMS\\Core\\Error\\Exception: PHP Warning: file_put_contents(/var/www/html/typo3/var/cache/code/di/66c5cee5312b3891804751.temp): Failed to open stream: No such file or directory in /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php line 229 in /var/www/html/typo3/vendor/typo3/cms-core/Classes/Error/ErrorHandler.php:138\nStack trace:\n#0 [internal function]: TYPO3\\CMS\\Core\\Error\\ErrorHandler->handleError()\n#1 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Backend/SimpleFileBackend.php(229): file_put_contents()\n#2 /var/www/html/typo3/vendor/typo3/cms-core/Classes/DependencyInjection/Cache/ContainerBackend.php(36): TYPO3\\CMS\\Core\\Cache\\Backend\\SimpleFileBackend->set()\n#3 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Cache/Frontend/PhpFrontend.php(61): TYPO3\\CMS\\Core\\DependencyInjection\\Cache\\ContainerBackend->set()\n#4 /var/www/html/typo3/vendor/typo3/cms-core/Classes/DependencyInjection/ContainerBuilder.php(165): TYPO3\\CMS\\Core\\Cache\\Frontend\\PhpFrontend->set()\n#5 /var/www/html/typo3/vendor/typo3/cms-core/Classes/DependencyInjection/ContainerBuilder.php(85): TYPO3\\CMS\\Core\\DependencyInjection\\ContainerBuilder->dumpContainer()\n#6 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Core/BootService.php(58): TYPO3\\CMS\\Core\\DependencyInjection\\ContainerBuilder->createDependencyInjectionContainer()\n#7 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Core/BootService.php(47): TYPO3\\CMS\\Core\\Core\\BootService->prepareContainer()\n#8 /var/www/html/typo3/vendor/typo3/cms-install/Classes/Service/LateBootService.php(30): TYPO3\\CMS\\Core\\Core\\BootService->getContainer()\n#9 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Core/BootService.php(117): TYPO3\\CMS\\Install\\Service\\LateBootService->getContainer()\n#10 /var/www/html/typo3/vendor/typo3/cms-install/Classes/Service/LateBootService.php(35): TYPO3\\CMS\\Core\\Core\\BootService->loadExtLocalconfDatabaseAndExtTables()\n#11 /var/www/html/typo3/vendor/typo3/cms-install/Classes/Controller/UpgradeController.php(1069): TYPO3\\CMS\\Install\\Service\\LateBootService->loadExtLocalconfDatabaseAndExtTables()\n#12 /var/www/html/typo3/vendor/typo3/cms-install/Classes/Middleware/Maintenance.php(234): TYPO3\\CMS\\Install\\Controller\\UpgradeController->upgradeWizardsDoneUpgradesAction()\n#13 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Http/MiddlewareDispatcher.php(111): TYPO3\\CMS\\Install\\Middleware\\Maintenance->process()\n#14 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Middleware/NormalizedParamsAttribute.php(41): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()\n#15 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Http/MiddlewareDispatcher.php(162): TYPO3\\CMS\\Core\\Middleware\\NormalizedParamsAttribute->process()\n#16 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Http/MiddlewareDispatcher.php(70): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()\n#17 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Http/AbstractApplication.php(80): TYPO3\\CMS\\Core\\Http\\MiddlewareDispatcher->handle()\n#18 /var/www/html/typo3/vendor/typo3/cms-install/Classes/Http/Application.php(46): TYPO3\\CMS\\Core\\Http\\AbstractApplication->handle()\n#19 /var/www/html/typo3/vendor/typo3/cms-core/Classes/Http/AbstractApplication.php(92): TYPO3\\CMS\\Install\\Http\\Application->handle()\n#20 /var/www/html/typo3/public/typo3/install.php(19): TYPO3\\CMS\\Core\\Http\\AbstractApplication->run()\n#21 /var/www/html/typo3/public/typo3/install.php(20): {closure}()\n#22 {main}"}

composer show
Composer 升级后的输出:

bacon/bacon-qr-code                           2.0.8            BaconQrCode is a QR code generator for PHP.
christian-riesen/base32                       1.6.0            Base32 encoder/decoder according to RFC 4648
dasprid/enum                                  1.0.6            PHP 7.1 enum implementation
doctrine/annotations                          2.0.1            Docblock Annotations Parser
doctrine/cache                                2.2.0            PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and ...
doctrine/dbal                                 3.9.0            Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.
doctrine/deprecations                         1.1.3            A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.
doctrine/event-manager                        2.0.1            The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.
doctrine/instantiator                         2.0.0            A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer                                3.0.1            PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
egulias/email-validator                       4.0.2            A library for validating emails against several RFCs
enshrined/svg-sanitize                        0.18.0           An SVG sanitizer for PHP
firebase/php-jwt                              6.10.1           A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.
guzzlehttp/guzzle                             7.9.2            Guzzle is a PHP HTTP client library
guzzlehttp/promises                           2.0.3            Guzzle promises library
guzzlehttp/psr7                               2.7.0            PSR-7 message implementation that also provides common utility methods
helhum/config-loader                          0.12.5           Generic config loader with context and environment support.
helhum/php-error-reporting                    1.0.1            Create ErrorException with clean trace from PHP error handler errors, inspired by Sentry PHP SDK
helhum/typo3-console                          8.1.1            A reliable and powerful command line interface for TYPO3 CMS
lolli42/finediff                              1.1.1            PHP implementation of a Fine granularity Diff engine
masterminds/html5                             2.9.0            An HTML5 parser and serializer.
nikic/php-parser                              4.19.1           A PHP parser written in PHP
oheil/core-facilities-genomics-and-proteomics dev-webcms7-test core-facilities-genomics-and-proteomics
phpdocumentor/reflection-common               2.2.0            Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock             5.4.1            With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a Doc...
phpdocumentor/type-resolver                   1.8.2            A PSR-5 based resolver of Class names, Types and Structural Element Names
phpstan/phpdoc-parser                         1.29.1           PHPDoc parser with support for nullable, intersection and generic types
psr/cache                                     3.0.0            Common interface for caching libraries
psr/clock                                     1.0.0            Common interface for reading the clock.
psr/container                                 2.0.2            Common Container Interface (PHP FIG PSR-11)
psr/event-dispatcher                          1.0.0            Standard interfaces for event handling.
psr/http-client                               1.0.3            Common interface for HTTP clients
psr/http-factory                              1.1.0            PSR-17: Common interfaces for PSR-7 HTTP message factories
psr/http-message                              2.0              Common interface for HTTP messages
psr/http-server-handler                       1.0.2            Common interface for HTTP server-side request handler
psr/http-server-middleware                    1.0.2            Common interface for HTTP server-side middleware
psr/log                                       3.0.0            Common interface for logging libraries
ralouphie/getallheaders                       3.0.3            A polyfill for getallheaders.
symfony/cache                                 7.1.3            Provides extended PSR-6, PSR-16 (and tags) implementations
symfony/cache-contracts                       3.5.0            Generic abstractions related to caching
symfony/clock                                 7.1.1            Decouples applications from the system clock
symfony/config                                7.1.1            Helps you find, load, combine, autofill and validate configuration values of any kind
symfony/console                               7.1.3            Eases the creation of beautiful and testable command line interfaces
symfony/dependency-injection                  7.1.3            Allows you to standardize and centralize the way objects are constructed in your application
symfony/deprecation-contracts                 3.5.0            A generic function and convention to trigger deprecation notices
symfony/doctrine-messenger                    7.1.2            Symfony Doctrine Messenger Bridge
symfony/event-dispatcher                      7.1.1            Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
symfony/event-dispatcher-contracts            3.5.0            Generic abstractions related to dispatching event
symfony/expression-language                   7.1.1            Provides an engine that can compile and evaluate expressions
symfony/filesystem                            7.1.2            Provides basic utilities for the filesystem
symfony/finder                                7.1.3            Finds files and directories via an intuitive fluent interface
symfony/http-foundation                       7.1.3            Defines an object-oriented layer for the HTTP specification
symfony/mailer                                7.1.2            Helps sending emails
symfony/messenger                             7.1.3            Helps applications send and receive messages to/from other applications or via message queues
symfony/mime                                  7.1.2            Allows manipulating MIME messages
symfony/options-resolver                      7.1.1            Provides an improved replacement for the array_replace PHP function
symfony/polyfill-ctype                        1.30.0           Symfony polyfill for ctype functions
symfony/polyfill-intl-grapheme                1.30.0           Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-idn                     1.30.0           Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
symfony/polyfill-intl-normalizer              1.30.0           Symfony polyfill for intl's Normalizer class and related functions
symfony/polyfill-mbstring                     1.30.0           Symfony polyfill for the Mbstring extension
symfony/polyfill-php72                        1.30.0           Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
symfony/polyfill-php83                        1.30.0           Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions
symfony/polyfill-uuid                         1.30.0           Symfony polyfill for uuid functions
symfony/process                               7.1.3            Executes commands in sub-processes
symfony/property-access                       7.1.1            Provides functions to read and write from/to an object or array using a simple string notation
symfony/property-info                         7.1.3            Extracts information about PHP class' properties using metadata of popular sources
symfony/rate-limiter                          7.1.1            Provides a Token Bucket implementation to rate limit input and output in your application
symfony/routing                               7.1.3            Maps an HTTP request to a set of configuration variables
symfony/service-contracts                     3.5.0            Generic abstractions related to writing services
symfony/string                                7.1.3            Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
symfony/type-info                             7.1.1            Extracts PHP types information.
symfony/uid                                   7.1.1            Provides an object-oriented API to generate and represent UIDs
symfony/var-dumper                            7.1.3            Provides mechanisms for walking through any arbitrary PHP variable
symfony/var-exporter                          7.1.2            Allows exporting any serializable PHP data structure to plain PHP code
symfony/yaml                                  7.1.1            Loads and dumps YAML files
typo3/class-alias-loader                      1.1.4            Amends the composer class loader to support class aliases to provide backwards compatibility for packages
typo3/cms-adminpanel                          12.4.19          TYPO3 CMS Admin Panel - The Admin Panel displays information about your site in the frontend and contains a range of metrics including debug...
typo3/cms-backend                             12.4.19          TYPO3 CMS backend
typo3/cms-belog                               12.4.19          TYPO3 CMS Log - View logs from the sys_log table in the TYPO3 backend modules System>Log
typo3/cms-beuser                              12.4.19          TYPO3 CMS Backend User - TYPO3 backend module System>Backend Users for managing backend users and groups.
typo3/cms-cli                                 3.1.1            TYPO3 command line binary
typo3/cms-composer-installers                 5.0.1            TYPO3 CMS Installers
typo3/cms-core                                12.4.19          TYPO3 CMS Core
typo3/cms-dashboard                           12.4.19          TYPO3 CMS Dashboard - TYPO3 backend module used to configure and create backend widgets.
typo3/cms-extbase                             12.4.19          TYPO3 CMS Extbase - Extension framework to create TYPO3 frontend plugins and TYPO3 backend modules.
typo3/cms-extensionmanager                    12.4.19          TYPO3 CMS Extension Manager - Backend module (Admin Tools>Extensions) for viewing and managing extensions.
typo3/cms-felogin                             12.4.19          TYPO3 CMS Frontend Login - A template-based plugin to log in website users in the TYPO3 frontend.
typo3/cms-filelist                            12.4.19          TYPO3 CMS Filelist - TYPO3 backend module (File>Filelist) used for managing files.
typo3/cms-filemetadata                        12.4.19          TYPO3 CMS File Metadata - Adds additional metadata to file management.
typo3/cms-fluid                               12.4.19          TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.
typo3/cms-fluid-styled-content                12.4.19          TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.
typo3/cms-form                                12.4.19          TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.
typo3/cms-frontend                            12.4.19          TYPO3 CMS Frontend
typo3/cms-impexp                              12.4.19          TYPO3 CMS Import/Export - Tool for importing and exporting records using XML or the custom T3D format.
typo3/cms-indexed-search                      12.4.19          TYPO3 CMS Indexed Search - Provides indexing functionality for TYPO3 pages and records as well as files including PDF, Word, HTML and plain ...
typo3/cms-info                                12.4.19          TYPO3 CMS Info - TYPO3 backend module for displaying information, such as a pagetree overview and localization information.
typo3/cms-install                             12.4.19          TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.
typo3/cms-linkvalidator                       12.4.19          TYPO3 CMS LinkValidator - Checks for broken links and displays results in the (Info>LinkValidator) backend module.
typo3/cms-lowlevel                            12.4.19          TYPO3 CMS Lowlevel - Technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.
typo3/cms-opendocs                            12.4.19          TYPO3 CMS Open Docs - Shows opened documents for the TYPO3 backend user.
typo3/cms-reactions                           12.4.19          TYPO3 CMS Reactions - Handle incoming Webhooks for TYPO3
typo3/cms-recycler                            12.4.19          TYPO3 CMS Recycler - Restore deleted records or remove them from the database permanently.
typo3/cms-redirects                           12.4.19          TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.
typo3/cms-reports                             12.4.19          TYPO3 CMS Reports - Show status reports and installed services in the (System>Reports) backend module.
typo3/cms-rte-ckeditor                        12.4.19          TYPO3 CMS RTE CKEditor - Integration of CKEditor as a Rich Text Editor for the TYPO3 backend.
typo3/cms-scheduler                           12.4.19          TYPO3 CMS Scheduler - Schedule tasks to run once or periodically at a specific time.
typo3/cms-seo                                 12.4.19          TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.
typo3/cms-setup                               12.4.19          TYPO3 CMS Setup - Allows users to edit a limited set of options for their user profile, including preferred language, their name and email a...
typo3/cms-sys-note                            12.4.19          TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a pa...
typo3/cms-t3editor                            12.4.19          TYPO3 CMS T3Editor - JavaScript-driven editor with syntax highlighting and code completion. Based on CodeMirror.
typo3/cms-tstemplate                          12.4.19          TYPO3 CMS TypoScript - TYPO3 backend module for the management of TypoScript records for the CMS frontend.
typo3/cms-viewpage                            12.4.19          TYPO3 CMS Viewpage - Use the (Web>View) backend module to view a frontend page inside the TYPO3 backend.
typo3/cms-webhooks                            12.4.19          TYPO3 CMS Webhooks - Handle outgoing Webhooks for TYPO3
typo3/cms-workspaces                          12.4.19          TYPO3 CMS Workspaces - Workflows with custom stages and versioning for a better editing and publishing experience.
typo3/html-sanitizer                          2.2.0            HTML sanitizer aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and values.
typo3/minimal                                 12.4.0           Minimal required set of TYPO3 extensions
typo3fluid/fluid                              2.14.1           The TYPO3 Fluid template rendering engine
webmozart/assert                              1.11.0           Assertions to validate method input/output with nice error messages.

尝试维护 -> 分析数据库结构也有同样的问题。只有一个粉红色的弹出错误,但没有其他任何地方。

其他工具,例如扫描扩展文件似乎工作正常。

当我尝试打开前端时,我只看到一个空白页面。 apache2 访问日志显示 HTTP 代码 200。Typo3 日志中没有错误。 php 日志中没有错误。

原始站点在相同的环境下运行良好(Typo3 v11,php-8.3,composer,...)

在作曲家升级步骤之后,由于错误而无法解决,因此必须删除

typo3cms install:fixfolderstructure
中的
composer.json
部分。

我的诊断可能性已经结束,所以我在这里问,我该如何继续?我可以做哪些额外的诊断?有类似的事情已经知道吗?

typo3 upgrade typo3-11.x typo3-12.x lts
1个回答
0
投票

这应该很容易。您的文件系统和权限有问题。正如错误所示,TYPO3 想要写入日志文件,但无法访问该文件。

您可以手动生成它,但最好让 TYPO3 为您生成文件。如果您安装了 helhum/typo3-console,只需运行:

vendor/bin/typo3 install:fixfolderstructure

然后将创建任何丢失的文件夹并修复权限。

© www.soinside.com 2019 - 2024. All rights reserved.