PB: PHP entre Linux et Mac sur Apache...

heroe

Membre actif
6 Mai 2000
368
18
Paris
Bonjour,
je travaille actuellement sur un site en php sur Linux,
mais quand je le porte sur le serveur apache de mon mac,
sans rien toucher aux fichiers, j'ai une erreur php qui me dit:
"Parse error: parse error in /Users/azerty/Sites/public_html/minisite/skin/affiche.html.php on line 1"
J'arrive cependant a supprimer l'erreur en eliminant la 1ere ligne de mon code qui est "<?xml version="1.0" encoding="ISO-8859-1" ?>".
Cependant les images ne s'affichent plus et le site n'est pas validable au Validator.
J'ai entendu parler que cela etait peut etre du a un probleme de retour chariot different
entre linux et mac mais je ne vois pas trop ce que c'est...
Si quelqu'un pouvait m'eclairer de ses lumières...
cordialement.

heroe
 
Essaye de passer la ligne <?xml version="1.0" encoding="ISO-8859-1" ?> en l'écrivant depuis du code php, c'est à dire :
<?php
echo <?xml version='1.0' encoding='ISO-8859-1' ?>";
?>

Vérifie bien que tu as les mêmes options dans le php.ini. Je pense par exemple, à l'option sur les "magic quote", ou alors sur la possibilité de passer des paramètres POST et GET.
Avec certaines configs, on utilise directement les variables $maVariablePostee, avec d'autres plus rigoureuses, il faut mettre $_POST['maVariablePostee'].

Cette dernière solution est meilleure car elle permet de ne pas se mélanger les pinceaux quand on passe des variable en get et en post et qu'elles ont le même nom.
 
en fait, c'est parce que t'as balise xml utilise <? et ?> qui sont reconnu par php comme ses propres balises d'ouverture et fermeture, donc il essaie d'exécuter ce qu'il y a à l'intérieur et forcement c'est pas du PHP...

donc essaie de l'écrire vi php:
<?php echo '<?xml version="1.0" encoding="ISO-8859-1" ?>'; ?>

Voilà.
 
Merci à vous deux,
ma page s'affiche mais pas les images,
qui marche sur linux mais sur le mac...
autre mystère...
 
SuperCed a dit:
Essaye de passer la ligne <?xml version="1.0" encoding="ISO-8859-1" ?> en l'écrivant depuis du code php, c'est à dire :
<?php
echo <?xml version='1.0' encoding='ISO-8859-1' ?>";
?>

Vérifie bien que tu as les mêmes options dans le php.ini. Je pense par exemple, à l'option sur les "magic quote", ou alors sur la possibilité de passer des paramètres POST et GET.
Avec certaines configs, on utilise directement les variables $maVariablePostee, avec d'autres plus rigoureuses, il faut mettre $_POST['maVariablePostee'].

Cette dernière solution est meilleure car elle permet de ne pas se mélanger les pinceaux quand on passe des variable en get et en post et qu'elles ont le même nom.
Bloc de code:
<?PHP

/*
    JavaScript ::
    document.write('<scr'+'ipt language="JavaScript" type="text/javascript"></scr'+'ipt>');
*/

$hello_world="Hello world !";

$html='<'.'?'.'xml version="1.0" encoding="iso-8859-1" '.'?'.'>';

$html.='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.example.com/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
    <!--
        XHTML 1.0 
    -->
    <head>
        <title>{TITLE}</title>
        <link href="http://www.example.com/favicon.ico" type="image/x-icon" rel="shortcut icon">
        <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.com/news.xml">
        <link rel="stylesheet" href="http://www.example.com/main.css" type="text/css" media="screen,projection,print" />
    </head>

    <body>
        '.$hello_world.'
    </body>
    <!--
        XHTML 1.0
    -->
</html>
';
            
echo $html;

?>

pourquoi ?

pour respecter la coloration synthaxique de ton IDE