Mise à jour PHP sur Apache 2.0 - RedHat 9

Mise à jour PHP sur Apache 2.0 - RedHat 9 - Logiciels - Linux et OS Alternatifs

Marsh Posté le 07-06-2004 à 11:45:18    

Salut à tous.
 
Mon site web est en partie en php et il fonctionne parfaitement chez Free et dans EasyPHP 1.6
 
J'ai voulu le tester sur Apache 2.0, PHP 4.2.2-17 sur ma RedHat 9.
 
Je rencontre quelques erreurs.
Avant de modifier mon code, j'aimerais être sur que cela ne vient pas de la version de PHP ou de modules manquants.
 
J'aimerais donc mettre à jour PHP, mais je ne sais pas comment procéder.
 
La dernière version c'est bien 4.3.6 ?
 
Pouvez-vous m'aider ?


---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 07-06-2004 à 11:45:18   

Reply

Marsh Posté le 07-06-2004 à 15:50:08    

[:tadzoa]


---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 07-06-2004 à 22:40:14    

Quels type d'erreurs ?

Reply

Marsh Posté le 10-06-2004 à 10:03:17    

Bah par exemple :

Code :
  1. gethostbyaddr($REMOTE_ADDR)

n'est plus reconnu !
 
Ou le transfert de parametres à une autre page ne fonctionne plus :

Code :
  1. http://serveur_apache/photos/galer [...] p?rep=toto


---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 10-06-2004 à 10:12:29    

Mams a écrit :

Bah par exemple :

Code :
  1. gethostbyaddr($REMOTE_ADDR)

n'est plus reconnu !
 
Ou le transfert de parametres à une autre page ne fonctionne plus :

Code :
  1. http://serveur_apache/photos/galer [...] p?rep=toto




 
Tu fais pour afficher tes variables ?  

Code :
  1. echo $_REQUEST['maVar'] ???


 

Reply

Marsh Posté le 10-06-2004 à 10:18:32    

En fait c'est pour logguer les IP, l'heure, la date, le type de navigateur... pour connaitre le type d'utilisateurs qui viennent sur mon site et savoir de quelle région ils sont.

Code :
  1. $fichier2="comp/toto.txt"; 
  2. $fp2=fopen($fichier2,"a" );
  3. fputs($fp2,"[".date("d/m/Y H:i:s" )."] --- ".$HTTP_REFERER." --- ".gethostbyaddr($REMOTE_ADDR)." --- ".$HTTP_USER_AGENT."\n" );
  4.  fclose($fp2);


 
Tout fonctionne sauf

Code :
  1. gethostbyaddr($REMOTE_ADDR)


Message édité par Mams le 10-06-2004 à 10:19:17

---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 10-06-2004 à 10:46:53    

essaie ca:

Code :
  1. $_SERVER['REMOTE_ADDR']


Reply

Marsh Posté le 10-06-2004 à 17:05:56    

Ca marche... merci !  :hello:  
 
Et heu... t'as pas une idée pour ça ?

Code :
  1. http://serveur_apache/photos/galer [...] p?rep=toto


 
La variable "rep" est égale à "toto", donc mon script va scanner le reperoire "toto" pour afficher les images et les textes qui y sont associés.
 

Code :
  1. //script de galerie photos
  2. $ph=opendir($rep);
  3. while ($x = readdir($ph))...


 
mais la ça ne fonctionne pas sur le serveur apache


---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 10-06-2004 à 17:55:11    

utilise  

Code :
  1. $_REQUEST['rep']

Reply

Marsh Posté le 10-06-2004 à 18:02:34    

ou dans son cas ( passage par url )

Code :
  1. $_GET['rep']


 
c'est du au fait que dans le php.ini de la RH la valeur register_globals est à Off
 
ceci est une bonne chose car cela évite d'avoir des variables écrasées par les variables globales dec cookies/formulaires ( cela peut même être une faille de sécurité car tu pourrais écraser certaines variables ) et d'être sûr de la provenance de la variable.
 
http://www.php.net/manual/fr/langu [...] efined.php
http://www.nexen.net/docs/php/anno [...] lobals.php


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 10-06-2004 à 18:02:34   

Reply

Marsh Posté le 10-06-2004 à 18:48:18    


Code :
  1. $_REQUEST['rep']


 
mais fonctionne aussi avec les variables passées en URL. Je crois que request un plus générique que get et post.
 
++

Reply

Marsh Posté le 11-06-2004 à 10:01:42    

Arg !! Ca y est presque...
Voici le code en entier.

Code :
  1. <?
  2.         //script de galerie photos
  3.         echo $_REQUEST["rep"];
  4.         $ph=opendir($_REQUEST["rep"]);
  5.         echo $ph;
  6.         while ($x = readdir($ph))
  7.         {
  8.                 if (is_file($rep.$x))
  9.                 {
  10.                 $infos=pathinfo($rep.$x);
  11.                 $ext=$infos["extension"];
  12.                 if ($ext=="jpg" )
  13.                         {
  14.                         echo "<TR><TD>";
  15.                         echo "<center><img src=\"".$rep.$x."\"></center>";
  16.                         }
  17.                 else
  18.                         {
  19.                         //affiche le contenu du fichier texte
  20.                         $tableau = file($rep.$x);
  21.                         //Puis afficher ce tableau
  22.                         while(list($cle,$val) = each($tableau))
  23.                                 {
  24.                                 echo $val."<br>";
  25.                                 }
  26.                         }
  27.                 }
  28.         }
  29.         closedir($ph);
  30. ?>


 
 
J'ai ajouté 2 "echo" pour voir ce qu'il se passe.
L'echo $_REQUEST["rep"]; me montre bien la valeur de "rep" qui est "2003-07-19/photos/"
 
L'echo $ph; m'affiche "Resource id #1"
 
Le script ne me fait plus d'erreur mais les photos et texte du répertoire "2003-07-19/photos/" ne sont pas affichés.


---------------
Je me lève de bonne humeur
Reply

Marsh Posté le 11-06-2004 à 14:22:04    

[:tadzoa]


---------------
Je me lève de bonne humeur
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed