Jump to content

Require() qui passe pas sous Linux


Arcy

Recommended Posts

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 !

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...