moonwar Posté 4 Juin 2009 Posté 4 Juin 2009 Bonjour, Je viens de changer de serveur (php5). Avant! tout fonctionnait trés bien mais après migration, tout include presente des problèmes. (le nouveau serveur roule sous Php5) Pour les includes, mon hebergeur m'a donné un changement à effectuer : /home/users/web/b2761/glo.monuser/thematiques/alaune.php au lieu de : ./thematiques/alaune.php l'include marche, sauf que certainne pages ne chargent plus. Pourtant le lien direct sur le navigateur marche. Ma page d'accueil fait appel à 7 includes, J'ai fait des tests en supprimant quelques un et laissant d'autres. J'ai remaqué que certains include bloquaient quand d'autres roulaient et ainsi de suite. Alors, que peut etre c'est un chemin relatif , j'ai testé: <?php include(dirname(__FILE__)."/home/users/web/b2761/glo.monuser/thematiques/alaune.php"); ?> ... ca marche pas! Ma quéstion: Est-ce que c'est l'hebergeur qui a limité le nombre d'include, si c'est non, qu'est ce qui peut etre la cause? Merci pour vos réponses
Noaric Posté 4 Juin 2009 Posté 4 Juin 2009 Est-ce que c'est l'hebergeur qui a limité le nombre d'include Pour être fixé là dessus il y toujours la bonne vieille méthode de faire un fichier test tout basique... avec 7 includes dedans, tu vois si ça marche, sinon après tu joues dessus pour étudier le comportement de la chose... Sinon aussi, méthode encore plus simple, pourquoi ne contactes-tu pas directement ton hébergeur pour savoir ?
Kioob Posté 4 Juin 2009 Posté 4 Juin 2009 include(dirname(__FILE__)."/home/users/web/b2761/glo.monuser/thematiques/alaune.php"); Ce code a de toutes façons très peu de chances de fonctionner. Que cherches tu à faire ici ?
moonwar Posté 4 Juin 2009 Auteur Posté 4 Juin 2009 Bonjour, Je cherche a remplacer la bonne vieille methode : <?php include("http://www.monsite.com/rep/fichier.php"); ?> afin de la voir fonctionner sous php5.
moonwar Posté 4 Juin 2009 Auteur Posté 4 Juin 2009 Pour être fixé là dessus il y toujours la bonne vieille méthode de faire un fichier test tout basique... avec 7 includes dedans, tu vois si ça marche, sinon après tu joues dessus pour étudier le comportement de la chose... Pas bête ton idée, je viens de tester avec 30 includes, ca prends du temps mais les 30 se chargent Et Mer*** ... ma tete va exploser
Kioob Posté 4 Juin 2009 Posté 4 Juin 2009 Hem. Je ne pense pas que tu faisais des appels include() via http, si ? En tous cas, je ne comprends pas ce que tu veux faire avec le bout de code que j'ai cité : tu forces un chemin absolu à partir du dossier du fichier courant, auquel tu "ajoutes" un autre chemin absolu. Ca donne l'impression que tu mélanges un peu toutes les solutions, sans chercher à comprendre quel est le problème. Bref, essaye en donnant plus de détail : quel est le chemin absolu du fichier dans lequel est placé l'include, et quel est le chemin absolu du fichier que tu veux inclure ? La solution indiquée par ton hébergeur - bien que non portable - a au moins le mérite de fonctionner ; mais quand tu dis "sauf que certaines pages ne chargent plus", que veux tu dire par là ? quel est le message d'erreur exact ? et quelle est la ligne de code correspondant au message d'erreur ?
moonwar Posté 4 Juin 2009 Auteur Posté 4 Juin 2009 (modifié) Hem. Je ne pense pas que tu faisais des appels include() via http, si ? Je fesais des appels dans le genre: <?php include("http://www.monsite.com/rep/fichier.php"); ?> Depuis ma migration, cette ecriture ne passe plus vue qu'elle ne fonctionne plus sous php5. Mon hebergeur m'a donné une solution, ré-ecrire cet appel par: <?php include("/home/users/web/b2761/glo.monuser/rep/fichier.php"); ?> Et ca marche! Le probleme c'est que tous les appels marchaient sous php, mais avec la méthode sous php5, quelque includes passent plus. En tous cas, je ne comprends pas ce que tu veux faire avec le bout de code que j'ai cité : tu forces un chemin absolu à partir du dossier du fichier courant, auquel tu "ajoutes" un autre chemin absolu. Ca donne l'impression que tu mélanges un peu toutes les solutions, sans chercher à comprendre quel est le problème. C'est pour cela que je pose ma quéstion La solution indiquée par ton hébergeur - bien que non portable - a au moins le mérite de fonctionner ; mais quand tu dis "sauf que certaines pages ne chargent plus", que veux tu dire par là ? quel est le message d'erreur exact ? et quelle est la ligne de code correspondant au message d'erreur ? Justement, Y a aucune erreur .. quand l'include 1 se charge, le second n'y est pas (page blanche). Quand je supprime le premier, le second se charge! (note que tout les liens sont bon, j'ai testé cela via le vavigateur, il n'y a ni probleme de BDD, ni probleme de script, ni probleme de chemin, j'ai tout testé et CA MARCHE) avez-vous une idée? Modifié 4 Juin 2009 par moonwar
Kioob Posté 4 Juin 2009 Posté 4 Juin 2009 beurk Je ne suis pas suffisamment pédagogue pour refaire les bases, mais il y a du boulot. Si tu as une page blanche sans message d'erreur c'est probablement que l'hébergeur masque les erreurs (comme recommandé). Il faudrait vérifier cela via un phpinfo() puis le cas échéant ré activer les options nécessaires ; par exemple : error_reporting(E_ALL);ini_set('display_errors', true); La solution "à la goret" serait de remettre ces anciens appels via http, en utilisant cette fois readfile(). Mais c'est très lent, et vraiment crade.
moonwar Posté 4 Juin 2009 Auteur Posté 4 Juin 2009 Bonjour, je crois que j'ai trouvé ce qui pose probleme! Une de mes pages fait appel a un chemin relatif: <?phprequire_once(dirname(__FILE__) . '/includes/classes/class.mysql.php');require_once(dirname(__FILE__) . '/includes/classes/class.outils.php');require_once(dirname(__FILE__) . '/config/conf.php');... Donc, je fais un include() relatif d'une page qui fait elle-meme un autre include relatif.. Comment résoudre ce conflit ? Merci pour vos réponses.
Dan Posté 5 Juin 2009 Posté 5 Juin 2009 Que tes include au format http ne fonctionnent plus est normal (et prévisible) Php 5 a un nouveau paramètre (depuis 5.2) qui est allow_url_include. Par défaut il est à "off". Avant cette version il n'avait que le allow_url_fopen...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant