2012-02-11 11 views
5

Tengo un problema en CodeIgniter - después de que lo cargue en el servidor que estoy requiriendo un archivo en un modelo a partir de las bibliotecas carpetaAppPath trabajo CodeIgniter duerma en el servidor

<?php 
require_once(APPPATH.'libraries/MY_Model.php'); 
Class scroll_news_model extends MY_model 
{ 
public function __construct() 
{ 
    parent::__construct("scroll_news"); 
} 
} 

este código estaba trabajando bien en mi entorno localhost pero me siguen dando este error después de subirlo:

Fatal error: require_once() [function.require]: Failed opening required 'application/libraries/MY_Model.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/arab2day/public_html/temp/arab2day/application/models/scroll_news_model.php on line 2

Respuesta

1

Si están tratando de extender la clase CI_Model, MY_Model.php pertenece en el directorio /core en lugar de /libraries, y que no es necesario incluirlo - se cargará automáticamente cuando se carga la clase del modelo base.

Así es como funciona la extensión de las clases principales, extendiendo las "bibliotecas" regulares no esenciales es ligeramente diferente. Leer más sobre él aquí:

http://codeigniter.com/user_guide/general/core_classes.html

Por lo que el problema va literal, Lepidosteus hace un buen punto sobre mayúsculas y minúsculas y OS, me he encontrado con este problema yo mismo varias veces.

8

Verificar el caso de los nombres de archivo; windows no hace diferencia entre ABC.php y abc.php, pero Linux lo hace.

+0

muchas graciashhhhh –

+0

No hay problema, por favor presione el botón "validar respuesta" a la izquierda si esto responde a su pregunta – Lepidosteus

+0

@RamySelim: No es así como extiende la clase de modelo en Codeigniter, está cargando el archivo innecesariamente . Además, CI normaliza los nombres de archivos en cierta medida si utiliza la clase de cargador en lugar de 'incluir'. –

Cuestiones relacionadas