Я пробую OpenShift в первый раз. Я использую картридж php-5.4 и пытаюсь развернуть проект Laravel.
Laravel требует, чтобы корень документа указывал на public
каталог, который является одним уровнем в структуре фреймворка.
Я вижу здесь, что картридж php корень документа может быть любым из нескольких конкретных имен каталогов, включая public
,
Проблемы у меня таковы:
Когда я отправляю свой проект на сервер, openshift, похоже, не видит общую папку автоматически.
Я не могу найти сам рут.
Когда я захожу на сервер и показываю свой домашний каталог, я вижу следующие каталоги:
app-deployments
app-root
git
php
Я думал php
каталог будет корневым, о котором говорят документы, но, похоже, содержит все конфигурации самого php. Я тогда понял, что это может быть в app-root
или же app-deployments
, но когда я grep -Ri Laravel *
в моем доме, чтобы искать что-нибудь с laravel в нем (например, readme), но я ничего не получаю взамен (и я знаю, что подтолкнул на сервер).
Я знаю и верю, что php-картридж будет программно искать имена каталогов, чтобы определить корень, но где он начнет этот поиск? Если в документации есть конкретное место, где это объясняется, может кто-нибудь опубликовать ссылку на него, потому что я не могу его найти?
редактировать
Я также должен добавить, что я пытался проверить нормальный Linux /var/www
каталог, но мой пользователь не имеет доступа к каталогу, и мой пользователь не является (по крайней мере, я не думаю, что я) суперпользователь.
Пытаться: grep -D skip -Ri Laravel *
Должно быть в: ~/app-root/runtime/repo
От входа в портал разработчика OpenShift на PHP Repo Layout:
Apache DocumentRoot, каталог, который формирует основное дерево документов, видимое из Интернета, выбирается на основе существования общего каталога в коде репозитория в следующем порядке:
1. php/ # for backward compatibility with OpenShift Origin v1/v2
2. public/ # Zend Framework v1/v2, Laravel, FuelPHP, Surebert etc.
3. public_html/ # Apache per-user web directories, Slim Framework etc.
4. web/ # Symfony etc.
5. www/ # Nette etc.
6. ./ # Drupal, WordPress, CakePHP, CodeIgniter, Joomla, Kohana, PIP etc.
Следующие каталоги приложений, которые могут существовать в коде репозитория, добавляются в PHP include_path и, таким образом, автоматически ищутся при вызове require (), include () и других функций файлового ввода-вывода:
- lib/
- libs/
- libraries/
- src/
- misc/
- vendor/
- vendors/