PHP致命错误:require_once():无法打开所需的'Mail.php'(include_path ='。:/usr/share/pear:/usr/share/php')

Posted

技术标签:

【中文标题】PHP致命错误:require_once():无法打开所需的\'Mail.php\'(include_path =\'。:/usr/share/pear:/usr/share/php\')【英文标题】:PHP Fatal error: require_once(): Failed opening required 'Mail.php' (include_path='.:/usr/share/pear:/usr/share/php')PHP致命错误:require_once():无法打开所需的'Mail.php'(include_path ='。:/usr/share/pear:/usr/share/php') 【发布时间】:2014-03-05 22:17:35 【问题描述】:

当我使用 SMTP 发送邮件时,出现类似

的错误

php 致命错误:require_once():无法打开所需的“Mail.php” (include_path='.:/usr/share/pear:/usr/share/php') 在 ...

我该如何调试呢?我已经正确安装了 PEAR 模块。 安装的梨列表是

Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.11  stable
Console_Getopt   1.3.1   stable
html_Common      1.2.5   stable
HTML_Page2       0.6.3   beta
Mail             1.2.0   stable
PEAR             1.9.4   stable
Structures_Graph 1.0.4   stable
XML_Util         1.2.1   stable

需要安装任何其他 pear 依赖项?

提前致谢

【问题讨论】:

您需要在您的系统上找到 Mail.php (pear list-files Mail) 并确定为什么它不是您的包含路径。请注意,cli 和 web 之间的包含路径可能不同。 嗨..谢谢你的回复。当我尝试这个(梨列表文件邮件)php /home/ec2-user/pear/share/pear/Mail.php 和 include_path 是 .:/ usr/share/pear:/usr/share/php 需要更改包含路径? 当然看起来是这样,是的。 嗨..我已经设置了这样的包含路径 set_include_path('.:/home/ec2-user/pear/share/pear:/home/ec2-user/pear/share/pear') ;在 php 页面的顶部,但我只得到同样的致命错误。 【参考方案1】:

使用终端检查 Pear 安装 .php 文件的位置。 使用命令pear config-get php_dir 获取正确的目录。 使用Pear Manual to verify you Pear configuration 和进行调试。

【讨论】:

【参考方案2】:

忽略 Pear 消息。

您需要找到 Mail.php 的正确路径。

如果它在同一个文件夹中,那么它将如下所示:

require_once('Mail.php')

如果不是,则使用绝对路径。例如:

require_once('/var/www/Mail.php')

或者任何相对路径:

require_once('directory/Mail.php')

【讨论】:

-1。不确定“忽略梨消息”是什么意思 - Mail.php 来自梨包。使用绝对路径可能会在下一个 pear include 语句中失败。 在运行 PHP 的 Linux 系统上,如果您的 require_once() 路径损坏,您通常会在错误消息中获得 pear 引用。修复文件的路径通常可以解决问题,而无需安装其他 Pear 模块或依赖项。 “The pear reference”是指错误信息中的包含路径吗?如果是这样:不开玩笑。 Mail 1.2.0 stableMail.php 一个梨模块。请参阅the docs 示例用法。顺便说一句,require 不是一个函数(它不需要/不应该有括号)。

以上是关于PHP致命错误:require_once():无法打开所需的'Mail.php'(include_path ='。:/usr/share/pear:/usr/share/php')的主要内容,如果未能解决你的问题,请参考以下文章

require_once() 中的 PHP 致命错误可以 n

无法激活插件,因为它触发了致命错误:意外的“require_once”

Joomla3.6致命错误:require_once():需要打开失败

致命错误:require_once():

Joomla3.6致命错误:require_once():需要打开失败

PHP致命错误无法打开所需文件