Include ovh zend problème majuscules

bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015 - 1 août 2013 à 16:27
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 !

@+!

2 réponses

ichiriac Messages postés 195 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 13 janvier 2017 3
6 août 2013 à 18:58
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...

1
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
6 août 2013 à 21:02
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 ... ?
0
ichiriac Messages postés 195 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 13 janvier 2017 3
7 août 2013 à 12:00
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...
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
7 août 2013 à 18:28
"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 ?
0
ichiriac Messages postés 195 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 13 janvier 2017 3
7 août 2013 à 18:34
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 ^^)
0
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
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 !
0
Rejoignez-nous