Как развернуть приложение Symfony на общем сервере - PullRequest
0 голосов
/ 29 октября 2018

Я создал приложение Symfony, следуя документации в https://symfony.com/doc/current/setup.html

И на моем локальном сервере я использую php bin/console server:run для сервера приложения, и все было хорошо.

Но теперь, когда я хочу развернуть это приложение на общем сервере, который я использую для небольших приложений PHP (например, корпоративное приложение без слишком большой логики), я не могу заставить его работать ... На аналогичных серверах у меня есть приложения Zend Framework, работающие правильно , но Symfony один не работает.

Я заметил, что в корневом каталоге нет файла index.php. Это простой сервер с apache, на котором я просто перетаскиваю файлы через FTP (без SSH-соединения), но сервер не выполняет среду php

Нужно ли мне генерировать сборку или что-то в этом роде, чтобы переместить сгенерированные файлы на сервер?

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Слушай, ты можешь сделать это, но не должен.

Вы потратите дни на то, чтобы понять, как управлять развертыванием, устанавливать зависимости, очищать / прогревать кеш, и это только для самого простого приложения Symfony.

Остановите это прямо сейчас, избавьте себя от головной боли и купите VPS.

Я давал этот совет много раз, большую часть времени он не слушался. Однажды я спросил одного из разработчиков: стоит ли тратить 40 часов на это? За это вы выставили счет своему клиенту на 40 часов, подходящий VPS стоил бы всего половину (всего) и избавил бы вас от головной боли в будущем.

(пост Арне о конфигурации сервера технически правильный ответ)

РЕДАКТИРОВАТЬ: Я не предлагаю вам использовать php-сервер на VPS. VPS все еще будет нуждаться в apache / nginx.

0 голосов
/ 31 октября 2018

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

Затем создайте .htaccess в public_html со следующим содержимым:

RewriteEngine On
RewriteRule .* public/index.php

И это все!

0 голосов
/ 29 октября 2018

В каталоге public есть файл index.php, который должен быть «корневым» для вашего пути к общедоступному веб-серверу.

Пожалуйста, смотрите эту страницу для деталей относительно конфигурации веб-сервера, включая Apache:

https://symfony.com/doc/current/setup/web_server_configuration.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...