Ich hab's gefunden! Da bei meinem Hoster standardmässig noch die PHP 8.1 läuft, die mit readonly Klassen noch nicht klarkommt, musste ich in der deploy.php bei jedem Task noch den Pfad zur richtigen Version der PHP binaries davor setzen:
`// Define binaries
set('php', '/usr/local/php83/bin/php');
set('bin/typo3', '{{release_path}}/vendor/bin/typo3');
[...]
desc('Set up all installed extensions');
task('typo3:extension_setup', function () {
run('{{php}} {{bin/typo3}} extension:setup');
});
desc('Fix folder structure');
task('typo3:fix_folder_structure', function () {
run('{{php}} {{bin/typo3}} install:fixfolderstructure');
});
desc('Update language files');
task('typo3:language_update', function () {
run('{{php}} {{bin/typo3}} language:update');
});
desc('Update database schema');
task('typo3:update_database', function () {
run("{{php}} {{bin/typo3}} database:updateschema '.add,.change'");
});
desc('Execute upgrade wizards');
task('typo3:upgrade_all', function () {
run('{{php}} {{bin/typo3}} upgrade:prepare');
run('{{php}} {{bin/typo3}} upgrade:run all --confirm all');
});`
So hat mein Deployment geklappt!