[RESOLU] code sur le serveur est different de mon code local

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] code sur le serveur est different de mon code local

Re: code sur le serveur est different de mon code local

par scroller » 14 févr. 2012, 01:02

Merci, c'est cool je viens effectivement de comprendre mon ignorance, oui j'ai voulus mettre des liens absolue mais pour des commandes serveurs lol ca ne veux plus rien dire :/
Désolé, je débute et j'arrivais pas a comprendre ce qui se passait :/
Mais heureusement vous êtes la pour nous éclairer et c'est cool : je vais enfin pouvoir mettre mon site au clair, comme je l'avais pensé
merci ;)
par contre je vais essayer de mieux réfléchir la prochaine fois !!

[edition]
edition du message le 14 février à 0:21
ce sujet est donc résolu, mais désolé : je n'arrive pas a savoir comment faire pour cela.
Je ne sais pas modifier le titre du sujet, ni placer de drapeau pour désigner la meilleur réponse, et malheureusement cela n’apparaît pas clairement dans la partie faq.
bonne journée ;) !!

Re: code sur le serveur est different de mon code local

par Calimero » 13 févr. 2012, 19:32

Un lien vers ton site, histoire que tout le monde voie le problème (et pour faire un peu de publicité gratuite à ton site perso) : http://xavier.bkh.free.fr/construction.php

Si par "absolu" tu veux dire "qui commence par http://... " alors tu confonds deux concepts très importants, les URL et les chemins sur un système de fichier... et c'est pas bien du tout :non: Utiliser une URL sous-entend que l'accès va se faire à travers le réseau, et ça change beaucoup de choses par rapport à une éxécution directe.

Quand il s'agit de chemin à passer en argument aux fonctions include() et require(), c'est le système de fichier qu'il faut utiliser, donc pas de http:// devant. Un chemin absolu dans le système de fichiers, par exemple, ça ressemble à ça :

Code : Tout sélectionner

/mnt/154/sda/2/c/xavier.bkh/include
Le premier / désignant la racine du système de fichiers.

Il y a aussi des chemins vers des ressources de ton site (css, js, images), qui sont utilisés dans le HTML. Ici il s'agit forcément d'URLs (l'accès réseau est sous-entendu et obligatoire, puisque ces chemins sont lus sur l'ordinateur client, et que les fichiers pointés sont sur le serveur). À ne pas confondre avec les fichiers php qui sont accédés sur et par (dans le cas d'include et require) le serveur ;)

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 19:18

j'ai réussi mais ca va me poser un autre pb : c'est l'inclusion de fichier qui pose des soucis :
j'ai un sous dossier php pour faire different scripts donc pour éviter les problèmes de chemin non trouvé j'ai cru bon de mettre tout les chemins en absolu hors la fonction include n'a pas l'air d'aimer car lorsque j'ai tt remis en relatif ca fonctionne : plus de message d'erreurs et la page s'affiche correctement (oui avec l'entete, le menu, le pied et le css pris en compte ca change tt lol)
mais je vais avoir un soucis : pour mes fichiers scripts je vais devoir créer des morceaux de fichiers propres dans le dossier php ou tt mettre a la racine => un peu contraignant non ?
y a t'il une solution plus souples pour éviter ca ?

Re: code sur le serveur est different de mon code local

par moogli » 13 févr. 2012, 18:25

Erf j'ai loupé une étape :/

Ansi ne devrais pas poser de soucis (hormis au niveau des caractères "spéciaux" comme les accents).
Après vu le message d'erreur tu a forcément un caractères "invisible" au début du fichier (d'où l'orientation vers le problème UTF8 avec bom assez classique).
Notepad++ a un plugin permettant de voir le fichier en hexa ça peux aider.
Au pire tu peux nous filer le fichier en pièce jointe sur le sujet (normalement) ? Sans les éventuels code d'accès sgbd etc.

@+

Édit : erf grilled suis trop lent :/

Re: code sur le serveur est different de mon code local

par Calimero » 13 févr. 2012, 18:18

Au pire, tu peux nous envoyer ton fichier index.php ici même (en faisant disparaître les login/mot de passe dedans s'il en contient), et on regardera.

Ça se passe sous le formulaire de réponse à un post (onglet "ajouter des fichiers joints", en dessous du bouton d'envoi :) )

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 18:13

merci pour tout ces eclaircissement, j'ai un autre probleme qui m'embete dans cette situation : j'utilise notepad++, et l'une des pages reste encodé en ANSI, après multe reconversion en utf-8 sans BOM et en enregistrant en vérifiant l'encodage avant, lors de la réouverture du fichier il est a nouveau en ANSI,
Peut on forcer l'encodage en utf-8 autrement sinon, est-ce que je peux laisser cet encodage ?
voilà ca ne change rien a mon pb :/

Re: code sur le serveur est different de mon code local

par moogli » 13 févr. 2012, 16:53

Un éditeur simple pour résoudre ton pb (je pense) => notepad++

Tu pourras regarder l'encodage qu'il t'indique ;)

Et si besoin le changer ;)

@+

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 15:16

pff, c'est angoissant, je n'arrive pas a voir ce qui cloche ds mon code :/
merci, je vais essayer de recréer une nouvelle page index faire des tests en esperant trouver ce qui ne va pas car je suis sur de ne pas avoir de code avant le

Code : Tout sélectionner

<?php
test avec la touche [home] et la touche [Suppr] pour être !!
et pour ce code perturbateur je ne sais pas comment le trouver :/
bon c'est sur reste le travail a taton lol, mais c'est plus long ;) !! bon je vais avoir besoin de beaucoup de courrage et j'espère trouver ce qui cloche au final !
encore merci.

Re: code sur le serveur est different de mon code local

par Calimero » 13 févr. 2012, 14:14

Le message d'erreur que tu reçois est très clair :
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /mnt/154/sda/2/c/xavier.bkh/index.php:1) in <b>/mnt/154/sda/2/c/xavier.bkh/index.php</b> on line <b>2</b><br />
Soit il y a des caractères (espace, retour à la ligne... ?) avant la balise d'ouverture php ( <?php ), qu'il faut alors supprimer, soit tu as toujours du BOM qui traîne quelquepart :)

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 13:48

Merci, mais mon souci est toujours la :

Code : Tout sélectionner

<br /> <b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /mnt/154/sda/2/c/xavier.bkh/index.php:1) in <b>/mnt/154/sda/2/c/xavier.bkh/index.php</b> on line <b>2</b><br /> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
au lieu du code originel :

Code : Tout sélectionner

<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
j'ai bien envoyé le code en format utf-8 sans bom mais ce changement de code avec tout ces messages d'erreur m'inquiete :/

Re: code sur le serveur est different de mon code local

par Calimero » 13 févr. 2012, 13:27

merci pour tout ces eclaircissement, j'ai un autre probleme qui m'embete dans cette situation : j'utilise notepad++, et l'une des pages reste encodé en ANSI, après multe reconversion en utf-8 sans BOM et en enregistrant en vérifiant l'encodage avant, lors de la réouverture du fichier il est a nouveau en ANSI,
Peut on forcer l'encodage en utf-8 autrement sinon, est-ce que je peux laisser cet encodage ?
Tu peux laisser. En fait concrètement, si le fichier ne contient ni accent ni caractères spéciaux, alors il sera 100% identique quel que soit l'encodage (et ton éditeur détecte alors ce qui l'arrange, ANSI dans ton cas) :)

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 13:06

merci pour tout ces eclaircissement, j'ai un autre probleme qui m'embete dans cette situation : j'utilise notepad++, et l'une des pages reste encodé en ANSI, après multe reconversion en utf-8 sans BOM et en enregistrant en vérifiant l'encodage avant, lors de la réouverture du fichier il est a nouveau en ANSI,
Peut on forcer l'encodage en utf-8 autrement sinon, est-ce que je peux laisser cet encodage ?

Re: code sur le serveur est different de mon code local

par Calimero » 13 févr. 2012, 01:41

merci,
je vais essayer de voir ca en détaille !!
pour la fonction phpinfo(), oui je l'ai fait : PHP Version 4.4.3-dev
ils ont l'air d'avoir une version assez speciale mais bon, j'espère arriver a résoudre ce pb.
C'est php4, effectivement c'est très vieux (2006... la préhistoire de l'informatique :D ).

Il me semble qu'il est possible de passer en php5 chez free, regarde bien l'aide chez eux (ou quelquepart sur ce forum) pour savoir comment faire (d'ailleurs voici le lien, si ça n'a pas changé depuis : gestion-serveur/free-passer-php-t248915-15.html#p310441 )

Re: code sur le serveur est different de mon code local

par scroller » 13 févr. 2012, 00:58

merci,
je vais essayer de voir ca en détaille !!
pour la fonction phpinfo(), oui je l'ai fait : PHP Version 4.4.3-dev
ils ont l'air d'avoir une version assez speciale mais bon, j'espère arriver a résoudre ce pb.
Merci pour tte ces infos : si ca fonctionne je passerai le status de ce sujet en résolu ;) !!
meci pour ces réponses rapide ainsi que pour les liens qui devraient m'apporter plus de renseignements.
amicalement ;) !!

Re: code sur le serveur est different de mon code local

par Calimero » 12 févr. 2012, 22:01

Merci,
je suis sur un serveur de chez free, serveur linux.
leur version du serveur php est le suivant : 443
je crois que pour mieux travailler je dois installer un serveur de même version non ?
j'utilise xamp pas sur que j'arrive a le trouver ds celle ci :/
Oui avoir la même version est l'idéal, mais j'ai comme un doute sur le fait que 443 soit le bon numéro :langue: Pour en être sûr il faut créer une page spéciale (que tu peux appeler phpinfo.php) dans laquelle tu mets juste ce code :
<?php phpinfo();
et ensuite tu consultes cette page avec ton navigateur. Et là tu auras le numéro de version de php, entre autres (+ toutes les options de configuration). (Et quand tu n'as plus besoin de cette page, n'oublie pas de la supprimer, tu pourras toujours la refaire plus tard).
la je suis un peu bloqué : j'ai renvoyé tt mes fichiers en utf8 sans BOM mais sans succes :/ :/
mes pages n'affiche plus les caractères spéciaux correctement (bon pour ca pas de pb, je change le codage de mon navigateur mais pour un novice ca ne fait pas jolie et pour qqun d'autre ca fait tt sauf soigné :/) j'espere pouvoir y remedier en changeant l'entete de mon site :/
sinon je patine un petit peu snif !! pour tt ces messages d'erreurs.
Il reste un petit quelquechose à faire pour passer ton site en UTF8 correct. Il va falloir remplacer, dans toutes les pages qui la contiennent, cette balise meta :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Par ceci :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Ceci servant à indiquer au navigateur le charset utilisé dans la page :)

Et si tu as d'autres soucis ou si tu veux approfondir ces problèmes de charset, tu peux aussi aller voir ce tuto : faq-tutoriels/encodage-utf-t245062.html