1 Dernière modification par Cyberbob002 (01/09/2005 14h46m06s)

Sujet : Vous rencontrez une erreur ?

Avant toute chose, vérifiez que vous avez la dernière version. Vous pouvez la trouver sur cette page

Si vous avez la dernière version et que vous avez encore des bugs, voici une liste des erreurs connues que vous pouvez rencontrer.

Erreur 1 :

Fatal error: Call to undefined function: imagecreatefromjpeg()

Cette erreur survient si vous n'avez pas la librairie de traitement d'image chargée.
Pour la charger il faut ouvrir le fichier "php.ini" et chercher la ligne :

;extension=php_gd2.dll

Ensuite, il faut la transformer en :

#Pour Linux
extension=php_gd2.so

#Pour Windows
extension=php_gd2.dll

Et enfin, il faut relancer apache :

#Pour Apache 2 sous Linux
apache2ctl restart

et ca devrait être bon wink


Erreur 2 :

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}''

Cette erreur provient du fait que vous avez un serveur fonctionnant sur PHP 4 et que vous avez téléchargé la version PHP 5.
Rendez-vous sur cette page pour télécharger la bonne version.


Erreur 3 :

Fatal error: Call to undefined function: mime_content_type()

Vous n'êtes pas sur la dernière version ! Ce bug est lié aux serveurs qui ne pouvaient pas tous exécuter une certaine fonction dû à des restrictions.
Il a été corrigé sur à partir de la version 0.5.


Vous n'avez rien trouvé concernant votre erreur ?
Dans ce cas ouvrez une nouvelle discution en précisant quelle est votre erreur et l'url (si c'est possible) sur laquelle est installé le script pour que l'on puisse vous aider.

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

2

Re : Vous rencontrez une erreur ?

idée pour l'erreur 1:

ajouter dans le fichier : albulles/classes/util.class.php (vers la ligne 50 par ex.)

// verification que le module d'image 'gd2' est actif sur le serveur
if( !extension_loaded( 'gd' ) )
    die( '<strong>[ Erreur fatale ]</strong> L\'extension \'gd2\' n\'est pas charg&eacute;e. Impossible d\'utiliser le script sans elle.<br><a href=\"http://forums.jebulle.net/viewtopic.php?id=417\">voir r&eacute;ponse sur le forum</a>');

smile

3

Re : Vous rencontrez une erreur ?

Jeannot a écrit:

idée pour l'erreur 1:

ajouter dans le fichier : albulles/classes/util.class.php (vers la ligne 50 par ex.)

// verification que le module d'image 'gd2' est actif sur le serveur
if( !extension_loaded( 'gd' ) )
    die( '<strong>[ Erreur fatale ]</strong> L\'extension \'gd2\' n\'est pas charg&eacute;e. Impossible d\'utiliser le script sans elle.<br><a href=\"http://forums.jebulle.net/viewtopic.php?id=417\">voir r&eacute;ponse sur le forum</a>');

smile

oups petite erreur dans l'url :

il faut mettre " et non \"

// verification que le module d'image 'gd2' est actif sur le serveur
if( !extension_loaded( 'gd' ) )
    die( '<strong>[ Erreur fatale ]</strong> L\'extension \'gd2\' n\'est pas charg&eacute;e. Impossible d\'utiliser le script sans elle.<br><a href="http://forums.jebulle.net/viewtopic.php?id=417">voir r&eacute;ponse sur le forum</a>');

Re : Vous rencontrez une erreur ?

Merci Jeannot, excellente idée !

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Vous rencontrez une erreur ?

Avant merci pour ce logiciel mais j'eprouve des difficultés à le faire fonctionner voici ce que j'ai :

Warning: Wrong parameter count for array_merge() in /home/albulle/public_html/classes/util.class.php on line 421

Warning: Bad arguments to implode() in /home/albulle/public_html/classes/util.class.php on line 424

et voici le lien pour tester http://lcs.lecorre.clg50/~albulle

les dossiers apparaissent bien ainsi que le nombre de photos dans ceux-ci mais lorsque je clique le message d'erruer apparait merci de votre aide .

Re : Vous rencontrez une erreur ?

erreur sur le lien voici la rectification: http://lcs.lecorre.clg50.ac-caen.fr/~albulle

désolé

Re : Vous rencontrez une erreur ?

Salut et bienvenue !

Je te prie de bien vouloir m'excuser pour ce trop long délai de réponse...Je viens de changer de boulot et j'ai été plutôt occupé ces derniers jours.

Donc, qu'est-ce alors que cette erreur ? ... Je pense qu'il doit y avoir un oubli de cas dans une fonction. Ca ne vient peut-être pas de toi ; c'est plutôt de ma faute. Je regarde ça en détail et je te redis ce qu'il en est...Ca va peut être donner lieu à une nouvelle version d'ailleur...;)

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Vous rencontrez une erreur ?

ok je te remercie par avance car nous avons buter sur l'installation (meme derniere version ) alors des que tu peux fait moi signe si tu trouves l'erreur .

Merci encore pour ton courage ..

Allez au boulot ;-) ......

9

Re : Vous rencontrez une erreur ?

SAlut à tous et BONNE ANNEE,

je me permet de relancer le pb:
Warning: Wrong parameter count for array_merge() in /home/albulle/public_html/classes/util.class.php on line 421

Warning: Bad arguments to implode() in /home/albulle/public_html/classes/util.class.php on line 424

car j'ai le meme soucis donc si vous avez une solution, je suis preneur

merci et bon courage à tous

Re : Vous rencontrez une erreur ?

Messieurs Cheval et starship6,

J'ai peut-être une idée de solution. Je ne l'ai pas testée car je ne sais pas dans quel cas l'erreur se produit (je n'ai jamais réussi à la voir personnellement). Je vous donne donc une tentative de "rustine".

Ouvrez le fichier classes/util.class.php et rendez-vous ligne 403 :

$aDossiers = explode( '/', $sChaine );

Ajoutez avant cette ligne la ligne suivante :

$aDossiers = array();

Sauvegardez, fermer le fichier, testez et dites moi ce qu'il en est.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

11

Re : Vous rencontrez une erreur ?

le test est fait et c'est pareil, par contre depuis j'ai apris que je n'ai pas le module gd sur mon serveur
c'est peut etre ca, non?

Re : Vous rencontrez une erreur ?

Je ne sais pas si cela peut être du à cela, mais GD est effectivement obligatoire pour qu'AlBulle puisse fonctionner !
Il est donc fortement probable que cela soit la cause du problème.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

13

Re : Vous rencontrez une erreur ?

J'ai réalisé quelque tests sur les LCS installés dans les établissements scolaires. Apparemment cela vient de la version de php installée sur les LCS. Les LCS sont équipés d'un PHP Version 4.1.2.

Pour supprimer les warnings sur array_merge il faut modifier la fonction dans util.class.php

function nettoyerCheminURL( &$sChaine, $aDossiersInterdits = array() )
    {
       
        $sExpRegDossiersInterdits = '';
       
        // On eclate le chemin dans un tableau extraire chaque dossier
        $aDossiers = explode( '/', $sChaine );
       
        // on calcul le nombres de dossiers passés dans l'url
        $iNbDossiers = sizeof($aDossiers);
       
        // Si des dossiers sont interdits, on construit la fin de l'expression régulière
        $iNbDossiersInterdits = sizeof($aDossiersInterdits);
        if( $iNbDossiersInterdits !== 0 )
            for( $i = 0 ; $i < $iNbDossiersInterdits ; $i++ )
                $sExpRegDossiersInterdits .= '|'.$aDossiersInterdits[$i];
       
        // nettoyage des dossiers, pour enlever les chaines vides, les accès du type ./ et ../
        // et les dossiers interdits
        for( $i = 0 ; $i < $iNbDossiers ; $i++ )
    if( $aDossiers[$i] === '' || preg_match('/^[.]+$'.$sExpRegDossiersInterdits.'/', $aDossiers[$i]) !== 0 )
                unset( $aDossiers[$i] );
       
        // reconstruction des index du tableau
        $temp=array();
        $aDossiers = array_merge($aDossiers,$temp);
       

        // Reconstruction de la chaine d'accès nettoyée
        $sChaine = implode( '/', $aDossiers );
       
        return $aDossiers;
    }

Par contre le panier ne fonctionne pas du tout ! !  Il semble que les paramètres de session ne sont pas reconnus! Là maintenant je passe la parole aux experts !
   
}

Re : Vous rencontrez une erreur ?

Salut phpman !

Merci de cette utile contribution ! En revanche, va falloir que tu m'expliques ce que tu entends par "LCS", parce que je suis encore inculte et que c'est la première fois que je vois ce sigle wink

Quant au panier, pourquoi dis-tu qu'il ne fonctionne pas du tout ?

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

15

Re : Vous rencontrez une erreur ?

Le LCS est un serveur de communication Linux qui permet à tous les établissements scolaires d'offrir des services Web.

En fait chaque établissement est en quelque sorte son propre fournisseur d'accès. Liberté totale donc ! Pas besoin de s'abonner à un hébergeur. Le poste LCS est un poste qui tourne sur Linux et qui gère la passerelle Internet.

Après une longue et mûre réflexion je suis parvenu à adapter albulle sur mon LCS.

Je me suis rendu compte que les variables de sessions n'étaient pas gérées par nos LCS. Donc j'ai eu l'idée de passer le panier dans un petit fichier texte.
Nouveauté un petit fichier texte (chez moi il s'appelle panier.txt ) qui mémorise l'état du panier. Attention pour que l'accès à ce fichier soit possible il faut que le repertoire albulle dispose des droits 765 sur les serveurs Linux.

Je suis toute ouïe de vos remarques et commentaires.

Vous pouvez tester "mon albulle" sur l'adresse suivante :

http://lcs.delamine.clg14.ac-caen.fr/~a … xplore.php

Vous pouvez télécharger ma version modifiée zippée.
Le ZIP se trouve ici : http://lcs.delamine.clg14.ac-caen.fr/~a … lbulle.zip


Sébastien TACK Administrateur réseau au collège de la mine. Le Molay-Littry. @+ et bonnée année à tous !

Re : Vous rencontrez une erreur ?

ça a l'air de bien fonctionner. J'ai une question quand même concernant le nom du fichier : son nom reste toujours panier.txt ou tu lui attribut une autre chaine en complément ?
Parce que si il reste tout le temps panier.txt, un deuxième visiteur va avoir le panier du premier et ca devient donc impossible. Par contre si tu te créé une chaine aléatoire ca peut fonctionner. Le problème est comment avoir une chaine unique pour chaque visiteur ?
Une solution pourrait être de créer une chaine avec l'IP, le navigateur, l'OS et autre renseignements et d'en faire un MD5 par exemple. Comme ça il serait possible de la retrouver en ayant une très faible probabilité que 2 personnes aient la même au même moment.
Mais je ne suis quand même pas très fan de l'idée mais ça peut être une solution pour ceux qui n'ont pas les sessions disponibles sur leurs serveurs.

Un petit

if (function_exists('session_start'))

pourrait faire l'affaire.

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

17

Re : Vous rencontrez une erreur ?

Le problème de panier.txt j'y ai songé. Le problème quand on débogue c'est qu'on était toujours seul devant l'appli
Alors on pense pas à tout. Puis je me suis dit mince il n'y aura pas qu'un seul connecté il faut donc que je prévoye autant de fichier que de sessions.

Finalement je crée des fichiers textes avec la fonction session_id(). Comme cet id depend de l'adresse IP de l'ordinateur connecté il devrait être à priori unique. Pour ne pas surcharger le serveurs je met de temps à autre ces fichiers à la poubelle par exemple lors de la première connexion je ne charge pas la classe panierdefichiers et j'en profite pour nettoyer les anciens fichiers.

Enfin pour l'instant ce n'est qu'un début et j'espère pouvoir apporter ma contribution à l'élaboration de cet outil que je trouve très utile et très ingénieux.

Merci pour vos suggestions.

Re : Vous rencontrez une erreur ?

Salut phpman !

Merci de ton explication, je suis maintenant un peu moins inculte que précédemment !

Il y a cependant une chose qui me turlupine : tu dis ne pas pouvoir disposer des variables de sessions mais, dans ton dernier post, tu sembles pouvoir accéder à la fonction session_id(). Alors je ne suis pas un maître dans l'art de la maîtrise des sessions et de leur fonctionnement interne, mais si tu peux récupérer un identifiant de session, c'est bien que la session existe...Qu'est-ce qui t'empêche alors d'avoir des variables de session ? Peut-être un paramètrage de sécurité ? Une règle spécifique des serveurs LCS ?

Cela dit, bien joué pour le coup de l'adaptation ! Et bien joué pour ta remarque pertinente Cyb wink Ce à quoi je suis entièrement d'accord et pour laquelle j'ajouterai une chose.

Si tu arrives à choper un id unique pour nommer tes fichiers, le seul dernier souci va consister à trouver un moyen pour supprimer efficacement les fichiers textes. J'entends par là qu'il faut éviter de supprimer un fichier qui appartient à un autre internaute. D'où la nécessité de définir un timeout au terme duquel, tous les fichiers dépassant cette limite seraient supprimés.

Il faudrait donc accéder à la date de dernière modification d'un fichier et la comparer à la date courante lors de chaque actualisation de page par un internaute !

Sur ce bonne journée à tous !

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

19

Re : Vous rencontrez une erreur ?

C'est un truc que je ne comprends pas ! J'arrive dans un script php à récupérer $HTTP_SESSION_VARS
mais pas à l'intérieur d'une fonction ou d'une classe. En tous cas sur les php 4.1.2 ça ne fonctionne pas.
Il y à surement un truc mais je ne l'ai pas encore trouvé. Même en déclarant $HTTP_SESSION_VARS en global je n'y parvient pas.

Donc devant cette difficulté j'ai cherché à avant tout à fournir à mes collègues la fonctionnalité complète d'albulle.
J'ai donc pensé à la solution fichier qui en soit n'est pas une réponse optimale mais fonctionnelle.

J'ai encore des tests à réaliser mais je suis marié et je tiens à le rester ! Donc je doit un peu me calmer en programmation. Mais je ne capitule pas. L'idéal serait que quelqu'un me donne la solution. Du coup j'épargnes mon temps et je ne crains pas le divorce !  lol

20 Dernière modification par Cyberbob002 (17/01/2006 10h14m54s)

Re : Vous rencontrez une erreur ?

D'où la nécessité de définir un timeout au terme duquel, tous les fichiers dépassant cette limite seraient supprimés.
Il faudrait donc accéder à la date de dernière modification d'un fichier et la comparer à la date courante lors de chaque actualisation de page par un internaute !

+1

Sinon pour faire un session_id() il faut avoir fait un session_start() car sinon la chaine retournée est vide.


phpman> essai avec $_SESSION plutot.
Si tu as une erreur, warning ou même notice, post la ici que l'on regarde. Qui sait, on aura peut être la solution !

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

21

Re : Vous rencontrez une erreur ?

Je crois que cette fois cà y est ! J'ai transformé le début du code du fichier panierdefichiers.class.php

J'ai sorti la fonction session_start de la classe pour que la session s'initialise à l'appel de l'importation de
panierdefichier.class.php

Pour le panier il faut utiliser la fonction session_register pour l'enregistrer comme variables de session.


// nom de la variable du panier dans la session
define( 'JB_PANIER_FICHIERS', 'panier' );

// chemin d'accès à la librairie de compression
define( 'COMPRESS_LIB', 'classes/pclzip.lib.php' );


if (session_id() == '')
{
session_start();
}

           
// creation du panier s'il n'existe pas déjÃ
if (!isset( $_SESSION[JB_PANIER_FICHIERS]))
{
       
        $panier = array('');
        session_register(JB_PANIER_FICHIERS);
               

}

22 Dernière modification par Cyberbob002 (20/01/2006 20h10m23s)

Re : Vous rencontrez une erreur ?

php.net a écrit:

Si vous voulez que votre script fonctionne indépendamment de la configuration de la directive register_globals, vous devez utiliser la variable $_SESSION. Tous les éléments de $_SESSION sont automatiquement enregistrés. Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.

Donc $_SESSION[JB_PANIER_FICHIERS] = 1 est très bien !


Edit : La variable super-globale $_SESSION a été introduite à partir de PHP 4.1.0 et tu nous as dis que tu était en 4.1.2 donc pas de problèmes !
http://fr3.php.net/manual/fr/reserved.v … es.session


Note pour Samy : Tu peux noter qu'il faut au minimum PHP 4.1.x pour ton script smile

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

23

Re : Vous rencontrez une erreur ?

Bonjour, moi j'ai ça comme problème :

Warning: imagejpeg(): SAFE MODE Restriction in effect. The script whose uid is 32141 is not allowed to access photos/0-9/2 Days To Vegas/_miniatures/min_1.jpg owned by uid 99 in /home/plays/public_html/images-jeux/classes/util.class.php on line 163

Warning: imagejpeg(): Invalid filename in /home/plays/public_html/images-jeux/classes/util.class.php on line 163

Re : Vous rencontrez une erreur ?

Salut,

Le serveur PHP sur lequel tu as installé AlBulle est en mode safe_mode à on. Ce mode impose des restrictions supplémentaires pour garantir un niveau de sécurité plus élevé que le mode classique d'exécution de PHP. L'ennui, c'est que cela empêche l'utilisation de certaines fonctions bien pratiques comme tu auras pu en juger.

Je n'ai pas de solution "propre" à te donner. Les miniatures ne peuvent être créées à cause de cette restriction. Si tu souhaites vraiment utiliser AlBulle, une solution consisterait à t'installer un serveur PHP sur ta machine (quelque chose comme Wamp ou Mov'AMP), à y installer AlBulle et à y mettre tes photos pour générer toutes les miniatures. Une fois celles-ci générées, tu n'auras plus qu'à les envoyer sur ton serveur final en lieu et place où elles auraient du être générées.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

25

Re : Vous rencontrez une erreur ?

Salut, je viens d'installer cette merveilleuse et superbe gallerie, bravo a son auteur, en plus le code est super bien commenté, chapeau.

Bon, je l'ai installé donc, et ... ca marche ! Mais j'ai un warning tout pourri et je comprends pas d'ou ca peut venir :'(

Warning: Unknown(): open(/mnt/125/sdb/b/d/jean.saffores/sessions/sess_cdd758f0bb9a6fdb68d059b7725ecbad, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/125/sdb/b/d/jean.saffores/sessions) in Unknown on line 0

Pour info, je suis chez free