Перенос сайта TYPO3 на сервер без Composer

Я создал сайт TYPO3 локально (10.4.9), где TYPO3 был настроен с помощью Composer.

После перемещения сайта на наш веб-сервер TYPO, который использует не Composer, а Syslinks (которые я настроил), интерфейс возвращает только страницу с ошибкой Oops. Бэкэнд, однако, работает.

По какой-то странной причине я не смог получить ни одну из настроек, которые дали бы мне более подробное сообщение об ошибке.

Я подозреваю, что проблема в отсутствии Composer на сервере.

Например, эти строки в файле index.php:

call_user_func(function () {
    $classLoader = require dirname(__DIR__).'/vendor/autoload.php';
    \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE);
    \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run();
});

Что делать в этом случае?

Если я установлю Composer на сервер, повлияет ли это на другие TYPO3-сайты на нем?

Или есть альтернативное исправление?


person K. D. Reutimann    schedule 01.11.2020    source источник
comment
Пожалуйста, поделитесь более подробной информацией, например точным сообщением об ошибке. Нет необходимости устанавливать Composer на какой-либо удаленный сервер, просто используйте свой обычный процесс развертывания, чтобы включить все необходимые библиотеки.   -  person Nico Haase    schedule 02.11.2020
comment
Привет! Знание о том, что ваш бэкэнд работает, уже является признаком того, что вы правильно развернули свой веб-сайт, поэтому проблема не в композиторе. Не могли бы вы включить displayErrors в своем LocalConfiguration.php, чтобы увидеть, в чем реальная проблема? Я очень подозреваю, что вы настроили свой веб-сайт для своего предыдущего домена, но не для домена, к которому вы пытаетесь получить доступ на новом сервере.   -  person CDRO    schedule 02.11.2020
comment
Я включил displayErrors и также установил debug на true в LocalConfiguration.php. Тем не менее, все, что я получаю, это Ой, произошла ошибка! Домен должен быть настроен, как на сервере, так и в TYPO3   -  person K. D. Reutimann    schedule 03.11.2020


Ответы (2)


До сих пор вы можете установить и запустить TYPO3 без композитора. хотя есть некоторые отличия в обращении.

Поскольку нет композитора, который извлекает все расширения, вам нужно сделать это по-другому. У вас есть два варианта:

  1. импортировать расширения в диспетчер расширений из TER
  2. скопируйте расширения в / typo3conf / ext / ... самостоятельно

Недостаток:

  • не все расширения доступны в TER (со всеми версиями)
  • расширения, которым требуются дополнительные библиотеки, могут быть неполными, или вы должны включить этот внешний код в свою установку.

Еще одно отличие: вместо автозагрузчика композитора вам нужен другой автозагрузчик (и ваше расширение должно его поддерживать). В противном случае некоторые классы отсутствуют.

То, чего не хватает в вашей установке, требует дополнительной информации. Помимо журнала ошибок, вы можете настроить свою систему так, чтобы она отображалась в браузере:

Переключите вашу установку в режим отладки в install-tool / admin-tool, чтобы получить дамп ошибки во внешнем интерфейсе.


У вас могут быть разные установки TYPO3 (на основе композитора / без композитора) бок о бок на сервере. Таким образом, можно установить composer и использовать его только для одной установки, не изменяя все остальные установки.

person Bernd Wilke πφ    schedule 02.11.2020

Мой ответ относится к особому виду передачи на сервер:

В, возможно, старом документе было рекомендовано выполнить установку композитора и скопировать ее на сервер - по FTP (предпочтительнее в качестве архива для передачи только одного большого файла).
На самом сервере не ожидалось, что композитор будет доступный.

В этом сценарии есть некоторые предостережения, потому что TYPO3 использует композитор даже после установки (т.е. перестраивает файлы автозагрузки).

Тем не менее, это может сработать, если всегда принимать во внимание предостережения.
Проблема, которую следует учитывать, заключается в том, что недостаточно скопировать веб-папку с общими файлами и подпапками на сервере, но также необходимо скопировать vendor-папка, которая обычно находится за пределами веб-каталога TYPO3. Также, вероятно, желательно отобразить домен в папке public, папки vendor и общедоступные параллельны в одном и том же главном каталоге.
Вот установка, в которой папка public является лишь одной из нескольких, которые требуются для использования TYPO3 :

введите описание изображения здесь

Имя родительской папки в моем случае v10c, но может быть любым другим, обычно именем проекта или клиента.
Возможны другие структуры, в зависимости от настроек композитора, но проблема всегда одна и та же: < br /> структура локальной установки должна быть полностью скопирована на сервере, недостаточно скопировать только папку public.

Кроме того, следует учитывать, что пути в файлах автозагрузки, возможно, не относятся к серверу и должны быть скорректированы.

Я бы не рекомендовал использовать TYPO3 таким образом, и возможно, существуют другие проблемы, которые я не учел. Но в целом, вероятно, можно запустить его таким образом.

person David    schedule 02.11.2020