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 stable
Mail.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():需要打开失败