我使用PHPmailer在PHP中发送电子邮件。它在本地主机上运行得很好,但是它给了我一个云道托管服务器中绝对路径的错误。
我的目录结构.
-home
- phpmailer
- sendmail.php
我要求phpmailer的代码是。
require_once dirname(__FILE__).'/PHPMailer-master/src/phpmailer.php我也尝试了另一种方法-
require_once '/home/xxxxxxx/public_html/phpmailer/PHPMailer-master/src/phpmailer.php准确的错误是-
Warning: require_once(/home/152903.cloudwaysapps.com/xxxxxxx/public_html/phpmailer/PHPMailer-master/src/phpMailer.php): failed to open stream: No such file or directory in /home/152903.cloudwaysapps.com/kjmwdjvxpz/public_html/check2.php on line 5
Fatal error: require_once(): Failed opening required '/home/152903.cloudwaysapps.com/kjmwdjvxpz/public_html/phpmailer/PHPMailer-master/src/phpMailer.php' (include_path='.:/usr/share/php') in /home/152903.cloudwaysapps.com/kjmwdjvxpz/public_html/check2.php on line 5但不起作用。有人能解决这个问题吗?
发布于 2019-03-02 05:58:57
您提到了一个名为Phpmailer的文件夹,但是在require语句中,我注意到您正在使用phpmailer。请保持类似的情况,否则将无法工作。
根据文件夹名称将Phpmailer更改为phpmailer,反之亦然。它以这种方式在windows上工作,但是不能在linux系统上工作,因为名称在那里是区分大小写的。
更新:
如上文所述,则请尝试其中一项以作要求陈述-
require_once dirname(__FILE__)."/phpmailer/PHPMailer-master/src/phpmailer.php"或者试试这个-
require_once realpath(dirname(__FILE__))."/phpmailer/PHPMailer-master/src/phpmailer.php"我注意到您在public_html文件夹中的一个文件中要求使用这个类。因此,您必须告诉代码开始从phpmailer文件夹中搜索文件,而不是直接搜索。因为PHPMailer-master存在于phpmailer文件夹中,而不是直接在public_html文件夹中。
发布于 2019-03-02 06:00:18
在服务器上,目录结构需要精确的路径。例如,如果您转到服务器并打开您的site.tld/ PHPMailer,并且实际的目录是PHPMailer,您将得到一个404错误,因为大小写很重要。当请求文件时,您需要使用该文件。你可以做的另一件事是:
require_once"./PHPMailer-master/src/phpmailer.php";或
require_once dirname(__FILE__)."PHPMailer-master/src/phpmailer.phphttps://stackoverflow.com/questions/54955574
复制相似问题