Перемещение сайта TYPO3 на сервер без Composer

#composer-php #typo3 #typo3-10.x

#composer-php #typo3 #typo3-10.x

Вопрос:

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

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

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

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

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

 call_user_func(function () {
    $classLoader = require dirname(__DIR__).'/vendor/autoload.php';
    TYPO3CMSCoreCoreSystemEnvironmentBuilder::run(0, TYPO3CMSCoreCoreSystemEnvironmentBuilder::REQUESTTYPE_FE);
    TYPO3CMSCoreCoreBootstrap::init($classLoader)->get(TYPO3CMSFrontendHttpApplication::class)->run();
});
  

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

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

Или есть альтернативное решение для этого?

Комментарии:

1. Пожалуйста, поделитесь более подробной информацией, например, точным сообщением об ошибке. Нет необходимости устанавливать Composer на какой-либо удаленный сервер, просто используйте обычный процесс развертывания, чтобы включить все необходимые библиотеки

2. Привет! Знание того, что ваш серверный сервер работает, уже является признаком того, что вы правильно развернули свой веб-сайт, поэтому composer, вероятно, не проблема. Не могли бы вы включить displayErrors в своем LocalConfiguration.php , чтобы вы могли видеть, в чем реальная проблема? Я очень подозреваю, что вы настроили свой веб-сайт для своего предыдущего домена, но не для домена, к которому вы пытаетесь получить доступ на новом сервере.

3. Я включил displayErrors , а также установил debug значение true in LocalConfiguration.php . Тем не менее, все, что я получаю, это «Ой, произошла ошибка!» Домен должен быть настроен как на сервере, так и в TYPO3

Ответ №1:

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

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

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

Недостаток:

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

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

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

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


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

Ответ №2:

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

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

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

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

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

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

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

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