【问题标题】:PHP include path problems when using PEAR Mail on Bluehost在 Bluehost 上使用 PEAR Mail 时 PHP 包含路径问题
【发布时间】:2012-10-29 08:39:12
【问题描述】:

我正在尝试修改一个 TemplateMonster 模板,该模板使用 PHP 从表单中通过电子邮件发送数据。它默认使用 localhost 作为电子邮件服务器,但我的客户已经使用了 gmail 的邮件交换服务器并且喜欢这种方式。我正在使用这个问题的最佳答案中的代码:SO question

我认为我已经设置得很好,除了主机将 PEAR 和 PHP 安装到一个预定义的文件夹并且我正在处理一个子域。尽管我已修改 php.ini 以尝试包含正确的路径,但我收到有关无法找到 mail.php 的错误。这是我的错误(为了保护我的客户的隐私而更改了一些名称):

[08-Nov-2012 10:52:15] PHP 警告:require_once(../../mail.php) [function.require-once]:无法打开流:/ 中没有这样的文件或目录第 3 行的 home6/clientname/public_html/subdomainname/bin/contactFormHandler.php [2012 年 11 月 8 日 10:52:15] PHP 致命错误:require_once() [function.require]:无法打开所需的“../../mail.php”(include_path='.:/usr/lib64/ php:/usr/lib/php:/usr/share/pear:/usr/php') 在 /home6/clientname/public_html/subdomainname/bin/contactFormHandler.php 第 3 行

这是树: /home6/clientname/php/mail.php 是我要包含的文件 /home6/clientname/public_html/subdomainname/bin/contactFormHandler.php 是引发错误的文件

这是我的来自 contactFormHandler.php 的代码,它包含: require_once "mail.php";

我尝试了各种迭代,例如“../../../php/mail.php”,但均无济于事。关于我需要做什么以便子域上的 PHP 文件可以“看到”我尝试包含的 PEAR 文件的任何建议?

谢谢!

【问题讨论】:

    标签: php path include gmail pear


    【解决方案1】:

    试试 Mail.php 而不是 mail.php

    PEAR 包的文件名是 Mail.php,Unix/Linux 系统区分大小写。

    【讨论】:

    • 谢谢,这确实解决了错误信息!实际上我一开始就是这样,但由于某种原因,我同时拥有 mail.php 和 Mail.php - 小写字母位于带有 smtp.php 的 php 文件夹中,看起来只是 Mail 包的一部分。它仍然坏了,但很明显这是一个错误的假设,试图追查它 - 谢谢你,当我有足够的能力时,我会代表!
    【解决方案2】:

    首先,您需要联系 Bluehost 支持并确保您的服务器上已安装 Mail 包并可用。

    他们还会就 Mail.php 的正确相对路径向您提供建议

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      相关资源
      最近更新 更多