Sur ma boîte WAMP, j'ai fait ce qui suit:
Foo
$autoload['libraries'] = array('foo');
Tout fonctionne bien. Lorsque je télécharge sur ma boîte LAMP, j'obtiens le message d'erreur suivant:
Unable to load the requested class: foo
L'autorisation de /application/libraries/Foo.php est 0755. Le propriétaire est identique au reste des fichiers CI. Supprimer foo
du chargement automatique élimine le problème.
Des idées ce qui pourrait être faux?
Sous Windows, la capitalisation dans les chemins n'a pas d'importance. Sous Linux, c'est le cas.
Lorsque vous chargez automatiquement, utilisez "Foo" et non "foo".
Je crois que cela fera l'affaire.
Je pense que cela fonctionne lorsque vous retirez le chargement automatique, car codeigniter est suffisamment intelligent pour comprendre la capitalisation dans le chemin et les classes sont indépendantes de la casse en php.
J'ai eu un problème similaire lors du déploiement d'OSx sur mon site local sur mon site Linux live.
Il fonctionnait bien sous OSx, mais sous Linux, j’obtenais:
An Error Was Encountered
Unable to load the requested class: Ckeditor
Le problème était que les chemins Linux étaient apparemment sensibles à la casse. J'ai donc dû renommer mes fichiers de bibliothèque de "ckeditor.php" en "CKEditor.php".
J'ai aussi changé mon appel de charge pour correspondre à la capitalisation:
$this->load->library('CKEditor');
Si vous utilisez un serveur Linux pour votre application, il est nécessaire d'utiliser un nom de fichier en minuscule et un nom de classe pour éviter ce problème.
Ex.
Nom de fichier: csvsample.php
class csvsample {
}