Менеджер Contao не может найти мою установку Contao - PullRequest
0 голосов
/ 20 сентября 2019

Я играю (читай: вытаскиваю волосы) с Contao версии 4.8.Я получил его для установки нормально на localhost, где я могу свободно бездельничать с виртуальными хостами и тому подобное.Я также установил его на общем веб-сервере, используя поддомен, потому что я могу установить для этого корневой каталог документов.Это не достаточно хорошо, хотя.Поэтому я попытался:

  • Изменить корень документа основного домена в cPanel. Нет. Недопустимо в cPanel.
  • Переименуйте каталог public_html и сделайте ссылку на него. Нет. В доступе отказано.
  • Свяжитесь с хостинг-провайдером, чтобы он внес необходимые изменения. Нет. Извините, ничего нельзя сделать, сказали они.

Итак, прочитав это: https://github.com/contao/installation-bundle/issues/40 Я решил, что должен попробовать.Однако нет четких и однозначных объяснений , где расположены эти параметры.Так что я нашел это в файле, который находится по адресу /var/cache/prod/ContainerBPeWrxy/appContao_ManagerBundle_HttpKernel_ContaoKernelProdContainer.php (обратите внимание, что BPeWrxy) может быть и другим):

case 'contao.web_dir': $value = ($this->targetDirs[3].'/web'); break;

Аааа, вот оно!Я изменил это на:

case 'contao.web_dir': $value = ($this->targetDirs[3].'/public_html'); break;

Whaddayaknow! Это работает! Ууу!

Я думал, что у меня это получилось, и у меня работала живая установка, но потом заметил, что на сайте все еще включены суффиксы .html.Неважно, подумал я, я просто отключу их в настройках Contao, , как раньше. Нет! Таких настроек больше не существует.Так что я погуглил и нашел: https://contao -academy.de / blog / url-суффикс-contao4-anpassen

Поэтому я создал файл /config/config.yml (потому чтоего не существовало) и ввели:

contao:
    url_suffix: ""

Человек, это было сложно!Но теперь я обнаружил, что менеджер Contao больше не работает.Не удалось найти мою установку.Поэтому я снова изменил документацию с /public_html на /web и вернулся от своего грязного взлома.Я запустил восстановление кеша в менеджере Contao и все работало хорошо.Но затем, используя свои превосходные навыки логического мышления, я пришел к выводу, что это должно быть место, где должен быть таинственный contao.web_dir.Я должен сделать все правильно, поэтому я отредактировал файл еще раз:

contao:
    url_suffix: ""
    web_dir: D:\wamp64\www\contao_installation\public_html

О, кстати: что ни один гид или руководство не скажет вам, это:

  • Путь должен быть абсолютным;относительный /public_html не будет работать.
  • Путь должен быть с обратными слешами, если среда - Windows.

Но сейчас я в затруднительном положении.Со всеми настройками, указывающими на /public_html, менеджер Contao не найдет мою установку.Если я переименую папку /public_html обратно в /web и изменим docroot в vhosts.conf соответственно, я получу запуск менеджера Contao.Затем я могу выполнить операцию восстановления кэша.Я проверил файл appContao_ManagerBundle_HttpKernel_ContaoKernelProdContainer.php и похоже, что менеджер Contao правильно установил параметр contao.web_dir.Однако, что странно, это то, что, несмотря на это, мой docroot по-прежнему называется /web и по какой-то причине он все еще работает.Должен быть запасной вариант.

Но теперь, если я изменю docroot на /public_html, сайт работает отлично, но менеджер Contao перестает работать.Это нехорошо, потому что, поскольку я нахожусь в localhost и использую Windows, менеджер Contao создает очень сложную структуру автозагрузки классов, где пути к файлам содержат экранированные обратные косые черты в стиле Windows, такие как \\vendor\\foo\\bar, которые не будут работать, если я просто передамфайлы на живой сервер, на котором работает Linux.И я не могу получить менеджер Contao работать на живой веб-сервер, потому что она упорно хочет DOCROOT быть /web 1072

Итак:.

  • Есть ли способ настроить Contaoдиспетчер, чтобы подчиняться моим настройкам docroot?
  • Или есть какой-то другой способ выполнить требуемую операцию восстановления кеша и другие вещи, для которых я бы использовал Contao manager, который работал бы со мной, а не против меня с настройками docrootчто мне нужно иметь?
...