TYPO3 CMS версии 9 Установка не удалась из-за отсутствия лексера
Установка TYPO3 завершается неудачно на последнем этапе. Сообщение об ошибке в журнале гласит: PHP Fatal error: Class 'Doctrine\Common\Lexer' not found
Вот код (фактически весь код, который присутствует в этом проекте):
.ddev / config.yaml
APIVersion: v0.20.0
name: v9
type: typo3
docroot: public
php_version: "7.2"
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
provider: default
composer.json
{
"name": "vendor/v9",
"require": {
"typo3/minimal": "~9.3"
}
}
общественности /typo3conf/AdditionalConfiguration.php
<?php
/** #ddev-generated: Automatically generated TYPO3 AdditionalConfiguration.php file.
ddev manages this file and may delete or overwrite the file unless this comment is removed.
*/
$GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = '.*';
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'] = array_merge($GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'], [
'dbname' => 'db',
'host' => 'db',
'password' => 'db',
'port' => '3306',
'user' => 'db',
]);
ddev start && ddev ssh
затем composer install
и подтвердите с Y
когда все будет готово, я открою http://v9.ddev.local/ и перенаправлюсь на http://v9.ddev.local/typo3/install.php
Теперь я должен создать FIRST_INSTALL. Готово. Msgstr "Проблем не обнаружено, продолжить установку". Шаги 2 и 3 пропускаются, потому что соединение с базой данных уже известно AdditionalConfiguration.php (генерируется ddev). Установите имя пользователя и пароль, а также Sitename. "Продолжить"
Теперь я получаю синий индикатор выполнения, и ничего не происходит. входящий ddev logs
показывает эту ошибку:
==> /var/log/nginx/error.log <==
2018/07/19 11:45:22 [error] 223#223: *440 FastCGI sent in stderr: "PHP message: PHP Fatal error: Class 'Doctrine\Common\Lexer' not found in /var/www/html/public/typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php on line 22" while reading response header from upstream, client: REMOVED_IP_ADDRESS, server: _, request: "POST /typo3/install.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm.sock:", host: "v9.ddev.local", referrer: "http://v9.ddev.local/typo3/install.php"
==> /var/log/php-fpm.log <==
[19-Jul-2018 11:45:22] WARNING: [pool www] child 232 said into stderr: "NOTICE: PHP message: PHP Fatal error: Class 'Doctrine\Common\Lexer' not found in /var/www/html/public/typo3/sysext/core/Classes/Database/Schema/Parser/Lexer.php on line 22"
3 ответа
Это известная ошибка в новой версии 9: https://forge.typo3.org/issues/85552
Как уже упоминалось в этой проблеме, вы сможете исправить это, если включите лексер в свой собственный composer.json: composer требуется доктрина / лексер:^1.0
Проблема 'lexer class not found' уже исправлена в последней версии master, но я не совсем уверен, как вы можете указать ddev использовать ее вместо этого, или как вы можете применить патч вручную. в качестве альтернативы вы можете использовать более старую версию доктрины (ту, которая находится в core master composer.lock).
Похоже, проблема с автозагрузкой. Ты пробовал ddev exec composer dump -d /var/www/html
?