2011-11-21 20 views
14

he desarrollado una pequeña aplicación web en Symfony 2 y Doctrina 2.Symfony 2 sin acceso SSH

puedo distribuir a un web host que no dan acceso SSH?

lo pregunto porque veo que hay una gran cantidad de trabajo que debe ser hecho desde la terminal, al igual que la actualización del esquema de la base, creando enlaces simbólicos para los activos, borrar la memoria caché, etc ...

Respuesta

15

no debería ser un problema:

  • Crear una copia del sistema en algún lugar, a ser posible con params de conexión DB idénticos, como el sistema de producción.
  • Ejecute todas las tareas necesarias con el parámetro --env=prod, si su configuración de base de datos lo permite.
  • Clonar la base de datos de producción creada al sistema de producción (con phpMyAdmin). Puede clonar el esquema desde la base de datos de producción, ejecutar app/console doctrine:schema:update --dump-sql localmente y luego ejecutar el SQL generado en el servidor de producción.
  • copiar todos los archivos, con exclusión de los directorios en app/cache y app/log
+2

excluyendo la caché y el directorio de registro finalizaría en una excepción ... solo excluiría la aplicación/caché/* y app/log/* para que las carpetas permanezcan vacías en el sitio implementado. – Flask

+7

Sí, es por eso que escribí los directorios ** en ** aplicación/caché y aplicación/registro. – chiborg

0

Tal vez hay una forma (con SFTP, por ejemplo), pero sería como tratar de montar una bicicleta con ruedas cuadradas;)

+1

si su hoster le ofrece un servicio sftp, normalmente también incluyen una cuenta shell. la comparación con una bicicleta de ruedas cuadradas puede ser un poco difícil ... funciona, pero no será tan rápido como en un entorno de shell – Flask

3

he hecho esto muchas veces con SF 1.4, y debería ser tan fácil con SF 2.

Algunos servidores de gama baja tienen restricciones que causarán problemas para Symfony, por lo que es importante ejecutar el script del comprobador de compatibilidad de Symfony (puede subirlo y luego ingresar su URL en su navegador para obtener el resultado). Una vez hecho esto, siga estos sencillos pasos:

  1. copie todos los archivos del proyecto. Normalmente comprime/ataco la carpeta del proyecto, la carga y descomprimo.
  2. Exporte la base de datos de su entorno de desarrollo y cárguela en su nuevo servidor.
  3. Edite la configuración y actualice la configuración de su base de datos. Si tiene rutas codificadas en algún lugar de su código, ahora es el momento de arreglarlas también.
  4. Asegúrese de que el usuario de apache (o el software de servidor que utilice su host) tenga acceso completo a los directorios de caché y de registro. Esto puede ser complicado en algunos hosts, tuve que contactar al soporte técnico en el pasado para que alguien se conectara y cambiara los permisos.
  5. En su herramienta de configuración de hosts web, establezca la raíz web de su sitio en la carpeta web de su proyecto.