2009-08-11 43 views
6

Acabo de trasladar un sitio a un servidor de producción, y una instalación de CodeIgniter que funcionaba ahora devuelve una pantalla en blanco. Creo que se debe a espacios en blanco, pero ¿cómo se supone que debes encontrar algo así?Pantalla en blanco con CodeIgniter

Respuesta

11

Lo que debe verificar:

  • Dentro config.php, asegúrese de que su $config['base_url'] está en posición correcta
  • Has podido copiar su .htaccess así?
  • ¿Tiene las mismas versiones de PHP en ambas máquinas? Si su respuesta es sí, le preguntaré de nuevo: ¿Está seguro?
  • ¿Cuál es el valor de $ db ['default'] ['hostname']?
  • ¿Tiene la misma configuración de base de datos en su servidor local y de producción? No puede haber diferencias con el nombre de host, nombre de usuario, contraseña y base de datos

Otras cosas que puede hacer:

  • Establecer $db['default']['db_debug']-TRUE
  • de implementar una instalación CodeIgniter fresca en el servidor de producción y verificación si puede ver algo
  • Si aún ve una página en blanco, despliegue un solo archivo PHP con texto y díganos lo que ve
+0

resulta que el servidor está ejecutando PHP 4 en lugar de 5. Es de esperar que la empresa de alojamiento me lo actualice mañana. Gracias por responder. – Tisch

+0

@randell mi aplicación está en CI y se ejecuta en el servidor heroku .Index.php es echo "Hola" pero mi controlador predeterminado no se está ejecutando. Y no estoy seguro acerca de la versión php de heroku y mi aplicación (CI = '2.1. 2 ', PHP = 5.5.16) – HaRsH

+2

@HaRsH, asegúrese de que 'display_errors' y' display_startup_errors' están configurados en 'true'. También asegúrese de que 'error_reporting' esté configurado en' E_ALL'. Ver http://stackoverflow.com/a/21429652/106778 por ejemplo. – Randell

7

Experimenté el mismo problema y lo resolví configurando mi carpeta de registro para escritura. Parece que si enciende el registro y su carpeta de registro en su servidor no puede escribirse, CodeIgniter simplemente le muestra una página vacía.

+2

Acabas de rescatarme de 3 horas de cacería. realmente necesitamos verificar la capacidad de escritura de ese directorio. –

10

El problema puede deberse a que falta el módulo php 'mysqli'. Este es el conductor de su llamada en la base de datos. Lo comprobaría con:

php -i | grep Mysqli

php -m

+0

Esto ha resuelto mi problema dos veces. CodeIgnitor mostrará la pantalla en blanco si PHP no tiene instalada la extensión de base de datos apropiada –

+0

Esto también resolvió mi problema, gracias @rlane. No hubo errores incluso en los registros apache2 para indicar que esto era un problema ... – Jarrett

+0

Gracias. Este fue mi problema al alojar en Heroku. Tuve que actualizar composer.json para incluir '" ext-mysql ":" * "' en la sección '" require "', luego ejecutar 'composer update' para actualizar el archivo composer.lock. –

0

tengo problema simillar. Intento todo lo que la gente escribió. Pero nadie trabaja para mí. Pero, finalmente, encontré que mi index.php no está completo cuando se transfiere al servidor a través de ftp. Entonces, si alguien aún no puede resolver la pantalla blanca de la muerte, su index.php no está completo.

1

Carga tu asistente de url cuando se crea una función, por ejemplo:

visibility function_name() 
{ 
    $this->load->helper('url'); 

} 

, le mostrará los errores u objeto que ha cargado.

0

Si se mudó a un nuevo servidor, asegúrese de que el servidor tenga instalado PHP-5. La razón por la que la pantalla está en blanco es porque el servidor aún no puede representar PHP.

Tipo de esta línea y reiniciar después:

sudo apt-get install php5 libapache2-mod-php5

Para reiniciar:

sudo service apache2 restart 

Esto es, por supuesto, asumiendo tiene acceso al servidor a través de un cliente SSH con derechos de administrador.

mejor de las suertes, Niall

0

Anunciad esto en alguna parte de su archivo index.php:

function exception_handler($exception) { 
    echo "Uncaught exception: " . $exception->getMessage(); 
} 

set_exception_handler('exception_handler'); 

Parece CodeIgniter sólo maneja excepciones que se derivan de CI_Exception, por lo que cualquier no detectada (v2?) las excepciones (de bibliotecas de terceros, etc.) no se manejan.

Cuestiones relacionadas