bug à l'installation en php5

bricbric Member
juillet 2006 modifié dans Archives
Bonjour,

Voici la liste des erreurs reportées après une installation (sous Macos X /Apache/ PHP5) : il s'agit principalement de variables non déclarées mais désormais exigées par PHP5.

Notice: Undefined index: racine in /Users/FOO/pluxml/lib/class.pluxml.php on line 26

Notice: Undefined index: bypage in /Users/FOO/pluxml/lib/class.pluxml.php on line 27

Notice: Undefined index: style in /Users/FOO/pluxml/lib/class.pluxml.php on line 28

Notice: Undefined index: racine_xml in /Users/FOO/pluxml/lib/class.pluxml.php on line 47

Warning: readdir(): supplied argument is not a valid Directory resource in /Users/FOO/pluxml/lib/lib.util.php on line 10

Warning: closedir(): supplied argument is not a valid Directory resource in /Users/FOO/pluxml/lib/lib.util.php on line 24

Notice: Undefined index: racine_xml in /Users/FOO/pluxml/lib/class.pluxml.php on line 73

Warning: readdir(): supplied argument is not a valid Directory resource in /Users/FOO/pluxml/lib/lib.util.php on line 10

Warning: closedir(): supplied argument is not a valid Directory resource in /Users/FOO/pluxml/lib/lib.util.php on line 24

Warning: include(templates//template.php) [function.include]: failed to open stream: No such file or directory in /Users/FOO/pluxml/index.php on line 62

Warning: include() [function.include]: Failed opening 'templates//template.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /Users/FOO/pluxml/index.php on line 62

Dans le fichier : lib/class.pluxml.php
J'ai rajouté au-dessus de la ligne : function pluxml($a_config){
Le code suivant : var $a_config = "" ;
C'est tout. Ça marche.

Sinon, l'outil est fabuleux. Merci.

Réponses

  • Lors de l'installation est-ce que les dossiers "conf/" et "xml/" était accessible en écriture ?
    Est-ce que tu as mis des accents ou des apostrophes en remplissant les champs de l'installations ?
  • Bonjour,

    J'ai modifié mon précédent message :
    J'ai rajouté la ligne « var $a_config = "" ; » dans le fichier lib/class.pluxml.php
    Et là, tout marche.

    Merci encore.
  • J'ai pas vraiment compris pourquoi ça bug et encore moins pourquoi cette correction ?!

    Enfin si ça marche c'est l'essentiel ;)
  • Bonsoir,

    En PHP5, toute variable doit être déclarée. C'est du moins ce que j'en ai compris. Il convient d'éviter les "!" ou les "@ avant chaque variable non déclarée. Autrement dit, cela passe par une déclaration telle que celle ci-dessus ou par un « if( ! isset( $action ) ) $action = ". »

    Je ne suis pas expert, ni même développeur PHP, mais à force de travailler sur des bouts de code que je raboute, j'ai trouvé cette explication qui, ma foi, semble plausible et logique.

    Cette exigence ne change pas grand chose au code source PHP4. C'est (hélas) le développeur qui doit désormais penser à déclarer toute variable avant tout appel de celle-ci.

    Vous l'avez compris, je n'ai pas la science infuse, et encore moins ce talent de commettre comme vous le faites, un tel script efficace, élégant et minimal. Vers la perfection.
  • aucun probleme chez moi sur mon php5 :/
  • Beno@ a écrit:
    aucun probleme chez moi sur mon php5 :/
    Pareil chez moi. A vrai dire je n'ai jamais compris cette histoire.
  • BalouBalou Member
    Hello Skyline
    Quand bric écrit -> En PHP5, toute variable doit être déclarée et qu'il termine par le raisonnement:
    Je ne suis pas expert, ni même développeur PHP, mais à force de travailler sur des bouts de code que je raboute, j'ai trouvé cette explication qui, ma foi, semble plausible et logique

    Il ne se doute pas qu'il n'a jamais été aussi prêt de la vérité :-)

    L'explication existe et la voici:
    Pour éviter à des petits malins d'injecter du code malveillant "script kidding" en allant chercher des variables vides (donc des failles potentielles), il est hautement recommandé de toujours déclarer ses variables dans un état par défaut même si on ne s'en sert pas...
    Auquel cas, ils ne peuvent plus avoir la main dessus et vont voir "ailleurs"

    Balou, très sensible quand on discute sécurité :-)

    cordialement
Connectez-vous ou Inscrivez-vous pour répondre.