Installing Typo3v13 with composer ( composer create-project “typo3/cms-base-distribution:^13.4” my-new-project) directory “public” is missing. Get error:
In DependencyOrderingService.php line 31:
[ParseError]
syntax error, unexpected token “readonly”, expecting end of file
Installing typo3/cms-webhooks (v13.4.5): Extracting archive
8 package suggestions were added by new dependencies, use composer suggest to see details.
Generating autoload files
Generating class alias map file
In DependencyOrderingService.php line 31:
[ParseError]
syntax error, unexpected token “readonly”, expecting end of file
Exception trace:
at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-core/Classes/Service/DependencyOrderingService.php:31
Composer\Autoload{closure}() at phar:///usr/local/php81/bin/composer.phar/vendor/composer/ClassLoader.php:427
Composer\Autoload\ClassLoader->loadClass() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-core/Classes/Composer/PackageArtifactBuilder.php:80
TYPO3\CMS\Core\Composer\PackageArtifactBuilder->__construct() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-core/Classes/Composer/InstallerScripts.php:46
TYPO3\CMS\Core\Composer\InstallerScripts::register() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-composer-installers/src/Plugin/Core/ScriptDispatcher.php:108
TYPO3\CMS\Composer\Plugin\Core\ScriptDispatcher->registerInstallerScripts() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-composer-installers/src/Plugin/Core/ScriptDispatcher.php:95
TYPO3\CMS\Composer\Plugin\Core\ScriptDispatcher->registerLoader() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-composer-installers/src/Plugin/Core/ScriptDispatcher.php:63
TYPO3\CMS\Composer\Plugin\Core\ScriptDispatcher->executeScripts() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-composer-installers/src/Plugin/PluginImplementation.php:93
TYPO3\CMS\Composer\Plugin\PluginImplementation->postAutoloadDump() at /home/octocomm/www/tea/typo3v13/vendor/typo3/cms-composer-installers/src/Installer/Plugin.php:101
TYPO3\CMS\Composer\Installer\Plugin->listen() at phar:///usr/local/php81/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:220
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/php81/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:131
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Autoload/AutoloadGenerator.php:474
Composer\Autoload\AutoloadGenerator->dump() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Installer.php:370
Composer\Installer->run() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Command/CreateProjectCommand.php:263
Composer\Command\CreateProjectCommand->installProject() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Command/CreateProjectCommand.php:171
Composer\Command\CreateProjectCommand->execute() at phar:///usr/local/php81/bin/composer.phar/vendor/symfony/console/Command/Command.php:298
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/php81/bin/composer.phar/vendor/symfony/console/Application.php:1040
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/php81/bin/composer.phar/vendor/symfony/console/Application.php:301
Symfony\Component\Console\Application->doRun() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Console/Application.php:396
Composer\Console\Application->doRun() at phar:///usr/local/php81/bin/composer.phar/vendor/symfony/console/Application.php:171
Symfony\Component\Console\Application->run() at phar:///usr/local/php81/bin/composer.phar/src/Composer/Console/Application.php:136
Composer\Console\Application->run() at phar:///usr/local/php81/bin/composer.phar/bin/composer:98
require() at /usr/local/php81/bin/composer.phar:29
You need to get in touch with the support of your hosting provider and ask them to upgrade PHP on CLI.
Some provides offer the possibility to use multiple PHP versions on CLI.
Apparently you’re currently using the php binary from /usr/local/php81/. So you could check if there is a directory like /usr/local/php82/ as well. Then you need to locate the php binary in this directory. It could be either /usr/local/php82/php or /usr/local/php82/bin/php or similar.
If this is the case, you need to prefix your composer command like this:
By the way: if you just want to have a test installation of TYPO3 to explore it’s features, I can strongly recommend to run DDEV on your local machine. It has built in support for TYPO3 and it’s free!
You can learn more about DDEV here: