Aller au contenu

Require() qui passe pas sous Linux


Arcy

Messages recommandés

Posté(e)

Bonsoir,

 

Pour un projet, j'utilise PHPmailer.

Aucun problème sous Windows mais déconne complètement sous Linux, il ne parvient pas à charger un fichier :

<br /><b>Warning</b>:  require(/phpmailer/PHPMailerAutoload.php): failed to open stream: No such file or directory in <b>/home/site/www/inc/fonctions.php</b> on line <b>76</b><br /><br /><b>Fatal error</b>:  require(): Failed opening required './phpmailer/PHPMailerAutoload.php' (include_path='.:/usr/local/php5.6/lib/php') in <b>/home/site/www/inc/fonctions.php</b> on line <b>76</b><br />

C'est là que généralement, je rajoute un point devant le chemin pour passer ça en relatif ...

Windows : require("/phpmailer/PHPMailerAutoload.php");Linux : require("./phpmailer/PHPMailerAutoload.php");

Le problème est que l'erreur continue d'être là ...

Le fichier où est inscrit cette ligne se situe dans le même dossier qui contient /phpmailer/. Donc la ligne pour Linux devrait fonctionner.

 

J'utilise une architecture MVC pour mon projet.

 

Merci d'avances pour vos idées !

Posté(e)

T'as essayé avec un include(), à la place ? Perso j'utilisais require_once() me semble. Faut que je vérifie. :yes:

Après tu peux utiliser la constante magique __FILE__ de mémoire

Posté(e)

Essaye avec :

require(dirname(__FILE__).'/phpmailer/PHPMailerAutoload.php');

Accessoirement le ' est plus rapide que le " car il y a moins de traitements effectués sur la chaîne, notamment il n'y a pas de possibilité d'incorporer des variables type "Page $i". Dans cet exemple c'est un peu ridicule mais c'est une habitude à prendre.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...