Symfony 2 без доступа к SSH

У меня есть небольшое веб-приложение в Symfony 2 и Doctrine 2.

Могу ли я установить его на веб-хост, который не дает доступа к SSH?

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

Ответ 1

Не должно быть проблем:

  • Создайте копию системы где-нибудь, в идеале, с идентичными параметрами соединения с БД, такими как производственная система.
  • Запустите все необходимые задачи с параметром --env=prod, если это позволяют настройки вашего БД.
  • Клонировать созданную производственную базу данных в производственную систему (с помощью phpMyAdmin). Вы можете клонировать схему из производственной базы данных, запускать app/console doctrine:schema:update --dump-sql локально, а затем запускать сгенерированный SQL на производственном сервере.
  • Скопируйте все файлы, исключая директории в app/cache и app/log

Ответ 2

Я делал это много раз с SF 1.4, и это должно быть так же просто с SF 2.

Некоторые хосты с нижним концом имеют ограничения, которые могут вызвать проблемы для symfony, поэтому важно запустить средство проверки совместимости Symfony script (вы можете загрузить его, а затем ввести его URL-адрес в своем браузере, чтобы получить выход). После этого выполните следующие простые шаги:

  • копировать все файлы для проекта. Я обычно zip/tar папку проекта, загружать его и распаковывать.
  • Экспортируйте базу данных из среды разработки и загрузите ее на новый сервер.
  • Отредактируйте конфигурацию и обновите настройки своей базы данных. Если у вас есть жесткие пути где-то в вашем коде, теперь самое время исправить их.
  • Убедитесь, что пользователь для apache (или любого другого серверного программного обеспечения, используемого вашим хостом) имеет полный доступ к каталогам кэша и журналов. Это может быть сложно на некоторых хостах, в прошлом мне приходилось обращаться в службу поддержки, чтобы кто-то входил в систему и менял разрешения.
  • В инструменте настройки веб-хостов установите веб-сайт для вашего сайта в веб-папку в вашем проекте.

Ответ 3

Может быть, есть способ (например, sftp), но это будет похоже на попытку прокатиться на велосипеде с квадратными колесами;)