bencoandco
Messages postés165Date d'inscriptionsamedi 8 mai 2010StatutMembreDernière intervention 3 janvier 2015
-
1 août 2013 à 16:27
bencoandco
Messages postés165Date d'inscriptionsamedi 8 mai 2010StatutMembreDerniè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 ?
bencoandco
Messages postés165Date d'inscriptionsamedi 8 mai 2010StatutMembreDerniè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 ... ?
ichiriac
Messages postés195Date d'inscriptionlundi 28 janvier 2013StatutMembreDernière intervention13 janvier 20173 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...
bencoandco
Messages postés165Date d'inscriptionsamedi 8 mai 2010StatutMembreDerniè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 ?
ichiriac
Messages postés195Date d'inscriptionlundi 28 janvier 2013StatutMembreDernière intervention13 janvier 20173 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 ^^)
bencoandco
Messages postés165Date d'inscriptionsamedi 8 mai 2010StatutMembreDerniè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 !