CodeIgniter: "Impossible de charger la classe demandée"
Sur mon WAMP boîte, je n'ai suivantes:
- Ajouté un fichier appelé /application/libraries/Foo.php
- Foo.php est une classe, et c'est le nom est
Foo
- /Application/config/autoload.php, j'ai ajouté
$autoload['libraries'] = array('foo');
Tout fonctionne bien. Quand je le télécharge pour ma LAMPE de la boîte, j'obtiens l'erreur suivante:
Unable to load the requested class: foo
La Permission de /application/libraries/Foo.php est 0755. Le propriétaire est le même que le reste de l'IC des fichiers. La prise de foo
de chargement automatique rend le problème.
Les idées de ce que pourrait être mal?
source d'informationauteur StackOverflowNewbie
Vous devez vous connecter pour publier un commentaire.
Dans Windows, la capitalisation dans les chemins d'accès n'a pas d'importance. Sous Linux il n'.
Lorsque vous autoload, utiliser "Foo" pas "foo".
Je crois que va faire l'affaire.
Je pense qu'il fonctionne lorsque vous la sortez de chargement automatique parce que codeigniter est assez intelligent pour comprendre la capitalisation dans le chemin d'accès et les classes sont des cas indépendant en php.
J'ai eu un problème similaire lors du déploiement à partir de OSx sur mon local pour mon Linux live site.
Il fonctionnait bien sur OSx, mais sur Linux je recevais:
Le problème est que Linux chemins sont apparemment sensible à la casse donc j'ai dû renommer mes fichiers de bibliothèque de "ckeditor.php" "CKEditor.php".
J'ai aussi changé ma charge d'appel pour correspondre à la capitalisation:
Si vous utilisez un serveur linux pour votre application, il est alors nécessaire d'utiliser des minuscules nom de fichier et le nom de la classe pour éviter ce problème.
Ex.
Nom de fichier: csvsample.php