2012-03-02 11 views
6

Estoy tratando de trabajar con Symfony2 con el nuevo PHP 5.4 y su servidor incorporado. He descargado Symfony2 y descomprimido en mi servidor y ha añadido este archivo router.php como se ha mencionado here:Symfony2 con servidor incorporado PHP 5.4

<?php 

    if (isset($_SERVER['SCRIPT_FILENAME'])) { 
     return false; 
    } else { 
     require 'Symfony/web/app.php'; 
    } 

?> 

El servidor web en sí funciona porque si reemplazo router.php con algo tan simple como phpinfo(); emite correcto pero con el mencionado router.php script el sitio permanece en blanco/blanco. Si abro las herramientas de desarrollador, devuelve 500 Server error.

que iniciar el servidor de esa manera:

/home/php54/php -S 0.0.0.0:88 router.php 

En mi concha que no tienen salida de un mensaje de error.

+0

Puede que esta no sea la respuesta, pero ¿ha instalado los proveedores de Symfony? – Shattuck

+0

He descargado 2.0.11 con proveedores: http://symfony.com/download?v=Symfony_Standard_Vendors_2.0.11.zip Porque no he instalado Git. – Poru

+0

Ah, eso tiene sentido. ¿Qué dicen los registros de error de apache2? – Shattuck

Respuesta

7

/home/php54/php -S 0.0.0.0:88 router.php

Se trata de abrir servidor en el puerto privilegiado, así que o cambiar el puerto o ejecutar este usuario como privilegiada (no recomendado).

También ha modificado la secuencia de comandos del enrutador y creo que se ha equivocado con las rutas de archivos. No está especificando docroot en su comando, por lo que su directorio actual es su docroot (por lo que debe ser el directorio/web de su proyecto). Pero luego la ruta al controlador frontal en el router.php es incorrecta (Symfony/web/app.php).

Realmente deberías seguir cuidadosamente las instrucciones de mi publicación en el blog. Por lo tanto:

  • cambiar su directorio actual al directorio web/del proyecto,
  • script de descarga enrutador: wget https://raw.github.com/gist/1507820/b9583ab7f7f5e0e4e29806c38c6c361220b6468f/router.php,
  • servidores de funcionamiento: php -S 0.0.0.0:8000 router.php.

Esto debería funcionar.

También puede probar el parche my pull request que agrega un comando simple que solo ejecuta el servidor PHP incorporado.

+0

extraño, la secuencia de comandos del enrutador no funciona para mí, tengo que cambiar el nombre de app_dev.php en index.php para que funcione correctamente. – mpm

+3

Esta solicitud de extracción ahora está integrada. Ahora se puede ejecutar 'app/console server: run' o' app/console server: run 0.0.0.0: 8000' y modificar app_dev.php para permitir que otros sistemas en su red accedan a él (ideal para probar su aplicación en dispositivos móviles)) –

0

No tengo un entorno de php 5.4 a mano, pero carga app_dev.php en lugar de app.php, ya que la depuración se establecerá en verdadero y se informarán los errores.

Cuestiones relacionadas