php - composer_autoload - config_item codeigniter
CodeIgniter: “No se puede cargar la clase solicitada” (3)
En mi caja de WAMP, hice lo siguiente:
- Se agregó un archivo llamado /application/libraries/Foo.php
- Foo.php es una clase, y su nombre es
Foo
- En /application/config/autoload.php, agregué
$autoload[''libraries''] = array(''foo'');
Todo funciona bien. Cuando subo a mi casilla LAMP, aparece el siguiente error:
Unable to load the requested class: foo
El permiso de /application/libraries/Foo.php es 0755. El propietario es el mismo que el resto de los archivos de CI. Sacar foo
de la carga automática hace que el problema desaparezca.
¿Alguna idea de lo que podría estar mal?
En Windows, el uso de mayúsculas en las rutas no importa. En Linux lo hace.
Cuando carga automáticamente, use "Foo" no "foo".
Creo que eso hará el truco.
Creo que funciona cuando lo sacas de la carga automática porque el codeigniter es lo suficientemente inteligente como para averiguar el uso de mayúsculas en la ruta y las clases son independientes de mayúsculas en php.
Si está utilizando un servidor Linux para su aplicación, entonces es necesario utilizar el nombre de archivo en minúsculas y el nombre de clase para evitar este problema.
Ex.
Nombre de archivo: csvsample.php
class csvsample {
}
Tuve un problema similar al implementar desde OSx en mi local a mi sitio en vivo de Linux.
Funcionó bien en OSx, pero en Linux estaba obteniendo:
An Error Was Encountered
Unable to load the requested class: Ckeditor
El problema fue que las rutas de Linux aparentemente distinguen entre mayúsculas y minúsculas, así que tuve que cambiar el nombre de mis archivos de biblioteca de "ckeditor.php" a "CKEditor.php".
También cambié mi llamada de carga para que coincida con el uso de mayúsculas:
$this->load->library(''CKEditor'');