Include ovh zend problème majuscules

Messages postés
165
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
3 janvier 2015
- - Dernière réponse : bencoandco
Messages postés
165
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
3 janvier 2015
- 7 août 2013 à 19:55
Bonjour,

Je viens de mettre en ligne un site fait à partir de zend framework.
Le problème est que sur certaines pages j'ai un message d'erreur du type :

Warning: include_once(Zend/Form/Element/TextArea.php) [function.include-once]: failed to open stream: No such file or directory in /homez.744/site/www/library/Zend/Loader.php on line 152

Warning: include_once() [function.include]: Failed opening 'Zend/Form/Element/TextArea.php' for inclusion (include_path='.:./Zend/library:.:./library:./application/models:.:/usr/local/lib/php') in /homez.744/site/www/library/Zend/Loader.php on line 152



Alors que le fichier en question est bien présent... j'ai modifié le setIncludePath mais ça ne change rien... ça marche seulement quand je met strtolower au nom de fichier & dossier à inclure, le problème est que ça marche pour certains mais pas pour d'autre...

Du coup ma question est avez vous déjà eu ce problème ? Est il possible de désactiver la reconnaissance de majuscules/minuscules sur ovh ?

Merci pour vos rèp !

@+!
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
195
Date d'inscription
lundi 28 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2017
3
1
Merci
Attention à la case dans le nom des classes dans le code PHP :

C'est bien :
Zend/Form/Element/Textarea.php

et non :
Zend/Form/Element/TextArea.php

Du coup ta classe doit s'appeller :

Zend_Form_Element_Textarea

et non :

Zend_Form_Element_TextArea

Le système d'autoload lui ne faire que retranscrire le nom d'une classe vers un nom de fichier.

C'est le cas sur tout hébergeur (pas que OVH) du moment où tu te trouves sur un linux...

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ichiriac
Messages postés
165
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
3 janvier 2015
0
Merci
Salut Mec !

Merci pour ta rep !

C'était juste un problème de majuscule sur le nom de fichier textarea.... j'ai mis en minuscule la 2ème majuscule et ça a marché.

Spé quand même que zend soit pas optimisé pour une mise en ligne sur serveur linux ... ?
ichiriac
Messages postés
195
Date d'inscription
lundi 28 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2017
3 -
En réalité ce n'est pas vraiment la faute à zend, les servers linux sont sensibles à la case sur les noms de fichiers contrairement à Windows ou MAC ... ce qui fait que ton dév dans ces environnements passe bien et plante lors de la mise en production :(

Faut que tu fasses attention lorsque tu utilises une classe à sa case car PHP lui il n'est pas sensible à la case donc que tu instancies new Date ou new dAtE pour lui c'est la même chose, il te chargera la bonne classe (sur windows, mac ou linux).

Les choses se compliquent quand le nom de la classe (ou namespace) correspond à un nom de fichier, mais tu auras le même problème sur Symfony ou tout autre framework à base de système d'autoload.

Conclusion, vaut mieux développer sur un système similaire que celui de prod, ça évitera d'autres surprises de ce type, ou bien être strict sur la case...
bencoandco
Messages postés
165
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
3 janvier 2015
-
"vaut mieux développer sur un système similaire que celui de prod, ça évitera d'autres surprises de ce type, ou bien être strict sur la case..."

Pas facile, à moins de dévlopper en ligne nan, directement sur le serveur ?
ichiriac
Messages postés
195
Date d'inscription
lundi 28 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2017
3 -
Tu peux le faire avec une VM sous debian avec Virtual PC + un activer le partage de fichier sous windows avec samba, pour l'avoir fait ça marche bien et comme ça je reste sous windows (non pas que j'aime pas VI mais NetBeans est quand même plus sympa ...)

Après pourquoi pas le faire en prod éventuellement ... (NAAAANNN je déconne ^^)
bencoandco
Messages postés
165
Date d'inscription
samedi 8 mai 2010
Statut
Membre
Dernière intervention
3 janvier 2015
-
Limite tu te bricole un serveur de test en local ou un serveur en ligne spécial pour les test, j'vais réfléchir à tt ça !

Thanks !
Commenter la réponse de bencoandco