Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2265 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Retour chariot : OSX, Linux , CR, CR LF...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Retour chariot : OSX, Linux , CR, CR LF...

n°1870847
vertigo77
Posté le 08-04-2009 à 00:31:52  profilanswer
 

Bonjour,
Plutôt débutant en PHP j’ai un petit souci à résoudre
Je créé quelques Pages en PHP avec l’éditeur de texte smultron sous macosx. J’ouvre ensuite ces pages avec mon serveur Apache (Wamp ou serveur apache intégré à macosx) et la je me rend compte que les « include » ne fonctionnent pas.
Si j’upload ces pages sur mon serveur distant sous linux aucun problème, mes includes fonctionnent.
Apres recherche Je soupçonne les retours chariot d’être en cause, pourtant OSX et linux utilise le même type de retour chariot (LF) contrairement à Windows (CR LF).
 
Lorsque j’ai créé mes pages smultron était en automatique au niveau de la gestion du retour chariot. Le soucis c’est que je ne comprends pas vraiment le fonctionnement de ces retours chariots, visuellement je ne vois rien dans le code, ca doit donc agir ailleurs mais ou ?
Tout fonctionne sur le serveur distant, mais pour faire des tests c’est bien plus sympa en local.. Surtout quand je n’ai pas le net…
Si vous aviez une solution…

mood
Publicité
Posté le 08-04-2009 à 00:31:52  profilanswer
 

n°1871052
macgawel
Posté le 08-04-2009 à 13:18:34  profilanswer
 

vertigo77 a écrit :

Bonjour,
Plutôt débutant en PHP j’ai un petit souci à résoudre
Je créé quelques Pages en PHP avec l’éditeur de texte smultron sous macosx. J’ouvre ensuite ces pages avec mon serveur Apache (Wamp ou serveur apache intégré à macosx) et la je me rend compte que les « include » ne fonctionnent pas.


En clair ?
- Message d'erreur ?
- Page blanche ?
- Résultat non conforme aux attentes ?
- Autre (préciser) ?
 
Tu as essayé avec un include sur un fichier qui contiendrait juste un truc genre echo "OK"; ?

n°1871067
olivthill
Posté le 08-04-2009 à 13:38:35  profilanswer
 

Souvent les problèmes d'include sont dus aux chemins des fichiers. Pour rappel, il est recommandé d'tuliser des chemins relatifs plutôt que des chemins absolus, car la racine n'est pas celle du disque, mais celle qui est indiquée dans le fichier de configuration d'Apache.

n°1871285
vertigo77
Posté le 08-04-2009 à 19:17:19  profilanswer
 

Pas de message d'erreur, simplement mon menu que j'appelle en include n'apparait pas (il apparait par contre sur mon serveur unix)
 
Ma page je j'appelle en include se trouve dans le même dossier  donc pas de problème de lien.

n°1871375
olivthill
Posté le 09-04-2009 à 09:31:34  profilanswer
 

Si c'est un problème de retour à la ligne, alors il faudrait essayer avec un autre fichier ayant des retours à la ligne différents, comme cela on serait fixé. Le transfert de fichier se fait habituellement par FTP, et il faut choisir le mode Ascii au lieu du mode binaire quand on transfert un fichier comme un include qui devrait contenir du texte ordinaire.
 
Peut-être que le fichier d'include inclus d'autres includes, ou a besoin de certaines ressources.
 
Une cause d'erreur qui n'a pas encore été citée, est la confusion possible entre majuscules et minuscules. Unix est très stricte sur ce sujet, alors que Windows ne l'ai pas toujours.

n°1871390
macgawel
Posté le 09-04-2009 à 09:54:43  profilanswer
 

macgawel a écrit :

Tu as essayé avec un include sur un fichier qui contiendrait juste un truc genre echo "OK"; ?


 :??:  
 
+1 pour le nommage des fichiers.
Dans l'idéal : utiliser un nom de fichier composé uniquement de caractères alphanumériques (sans accents) et des signes - et _

n°1871813
tomsoft
Posté le 09-04-2009 à 23:26:15  profilanswer
 

et attention aussi au sens des "/" dans le nom de fichier à inclure, il faut mettre des "/" et non des "\", bien que windows mette des "\"

n°1883756
vertigo77
Posté le 12-05-2009 à 16:09:07  profilanswer
 

Un mois après je n'ai toujours pas réussit à faire fonctionner les includes sous OSX
 
Pourtant je ne fais rien de particulier et je ne vais pas chercher le fichier dans un autre répertoire (donc pas de probleme de slash )? pas d'accent non plus i caracteres speciaux
 
<?php include('menu.php'); ?>
 
 

n°1883771
olivthill
Posté le 12-05-2009 à 16:22:31  profilanswer
 

Je n'ai jamais essayé avec "?>" juste à la fin de la ligne d'include. Peut-être que ça marche, mais je me dit que "?>" indique la fin d'un bloc PHP et que, peut-être, je n'en suis pas sûr, le contenu de l'include serait limité par la fin du bloc. En tous cas, il me parait plus naturel de ne pas séparer, par "?>", la ligne d'include des autres lignes de code PHP.

n°1883792
FlorentG
Posté le 12-05-2009 à 17:17:21  profilanswer
 

ITT : fail
 

vertigo77 a écrit :

Apres recherche Je soupçonne les retours chariot d’être en cause, pourtant OSX et linux utilise le même type de retour chariot (LF) contrairement à Windows (CR LF).


Les retours chariot changent rien.
 

olivthill a écrit :

Pour rappel, il est recommandé d'tuliser des chemins relatifs plutôt que des chemins absolus


Surtout pas, à cause du bordel de l'include path. Utiliser des chemins absolus, en utilisant une constante par exemple genre ROOT_PATH ou je sais pas
 

olivthill a écrit :

Le transfert de fichier se fait habituellement par FTP, et il faut choisir le mode Ascii au lieu du mode binaire quand on transfert un fichier comme un include qui devrait contenir du texte ordinaire.


Moi je transfert tout en binaire. Retours chariots "\n" y compris sous windows, et pas de conversion louche
 

tomsoft a écrit :

et attention aussi au sens des "/" dans le nom de fichier à inclure, il faut mettre des "/" et non des "\", bien que windows mette des "\"


On peut utiliser DIRECTORY_SEPARATOR pour être au top
 

vertigo77 a écrit :

Un mois après je n'ai toujours pas réussit à faire fonctionner les includes sous OSX
 
Pourtant je ne fais rien de particulier et je ne vais pas chercher le fichier dans un autre répertoire (donc pas de probleme de slash )? pas d'accent non plus i caracteres speciaux
 
<?php include('menu.php'); ?>


Là il manque surtout un truc, c'est l'affichage des erreurs. Fout un E_ALL histoire de voir.
 
Ou mieux, dégage la fonction "include" de merde et utilise require. C'est pareil, mais ça lance une vraie erreure fatale (pas un warning de chiotte).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Retour chariot : OSX, Linux , CR, CR LF...

 

Sujets relatifs
[Résolu] Edit mono-ligne avec retour à la ligne ?[SQL]Problème pour lancer phpmyadmin sous linux KDE
scripts linuxTransfert de fichier de windows vers linux
Faire fonctionner mon matériel ACR120U SDK sous linuxscript de configuration reseau linux
Crosscompilation sous linux pour w32 avec mingw[solved]Linux Ssh FTP > Transférer des dossiers entiers
[C][Linux]Que fait un programme qui reçoit un signal ?[RESOLU] compil avec lib pthread sous linux
Plus de sujets relatifs à : Retour chariot : OSX, Linux , CR, CR LF...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR