我正在实施一个代码,访问者可以通过电子邮件发送给我们公司。
在我的gmail.php中,它有第11行的代码
require_once('PHPMailerAutoload.php') or exit();
它给出的错误是我运行时的错误
Warning: require_once(1) [function.require-once]: failed to open stream: No such file or directory in /home/maxsell/public_html/php/gmail.php on line 11
Fatal error: require_once() [function.require]: Failed opening required '1' (include_path='/home/maxsell/php:.:/usr/lib/php:/usr/local/lib/php') in /home/maxsell/public_html/php/gmail.php on line 11
如果我点击[function.require-once]
就会加载
The requested URL /php/function.require-once was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
我在我们的其他网站上做了这个,它在那里工作。我尝试更改require_once
中的文件路径,但它不起作用。 gmail.php和PHPMailerAutoload.php在同一个文件夹中。
编辑:这是一个目录内容 directory contents
答案 0 :(得分:0)
你可以使用这个,希望这对你有用
require_once($_SERVER['DOCUMENT_ROOT'].'/phpmailerfoldername/PHPMailerAutoload.php');
答案 1 :(得分:0)
问题是or exit()
- 部分。
当我使用
时require_once("test.php") or exit();
我得到了同样的错误,但是
require_once("test.php");
如果文件存在则有效,如果不存在则抛出正确的错误。
另外,常用语法是
require_once "test.php";
并且or exit()
部分无论如何都是多余的,因为如果找不到该文件,则需要退出脚本本身。
修改强>
经过一些测试后,我怀疑这个奇怪错误的内部运作是require_once不是一个函数而是一个命令结构,这意味着
require_once('PHPMailerAutoload.php') or exit();
在功能上与
相同require_once ('PHPMailerAutoload.php' or exit());
因为or
- 运算符优先。
这使得您的要求失败,因为('PHPMailerAutoload.php' or exit())
解析为true
,有效地让php尝试require(true)
必须失败。