bug à l'installation en php5
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.
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.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Est-ce que tu as mis des accents ou des apostrophes en remplissant les champs de l'installations ?
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.
Enfin si ça marche c'est l'essentiel
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.
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