【问题标题】:PEAR to send email from PHP script using a remote server with SMTP authenticationPEAR 使用带有 SMTP 身份验证的远程服务器从 PHP 脚本发送电子邮件
【发布时间】:2011-04-14 09:22:15
【问题描述】:

我的php找不到mail.php

我将 PEAR 包安装在名为 pear_admin 的目录中 我使用 .htaccess 和 .htpasswd 保护了该目录中的所有内容 当我访问 mysite.com/pear_admin/index.php 时,它会询问我的用户名和密码。 这行得通,我可以看到和使用 PEAR 包管理 我安装了邮件包。 我创建了一个 php5.ini 文件并将其放在我的根文件夹中。 当我点击联系页面上的提交按钮时,PHP 文件找到 php5.ini 但后来就出错了。

找不到mail.php 它在新创建的目录中。这与我的联系页面所在的位置不同。 php5.ini 应该可以解决这个问题。 php5.ini 中的路径是 include_path = .:/usr/local/php5/lib/php:/home/content/91/5799191/html/mywebsite/pear_admin/PEAR

我也试过引号 include_path = ".:/usr/local/php5/lib/php:/home/content/91/5799191/html/mywebsite/pear_admin/PEAR"

我不确定是否需要尝试其他解决方案。 我不认为我在安装 Mail 包时做错了什么。只需单击一个按钮。

也许是 PHP 我尝试了两个 require_once "Mail.php";并包含('Mail.php');

也许是因为我用 .htpasswd 保护了它 这是我不明白的。 当我没有在我的 PHP 中提供用户名和密码时,它如何访问该文件? 我不应该这样做吗?如果有,怎么做?

谢谢。

【问题讨论】:

    标签: php .htaccess email pear


    【解决方案1】:

    您对 .htpasswd 保护的工作方式感到困惑。 PHP 已经在服务器上执行,并且不会通过网络服务器来包含外部文件。它可以直接访问它们——毕竟它们在同一台机器上。

    当然,如果您使用的东西确实会执行 http 请求(CURL、带有绝对 url 的 file_get_contents 等),那么这些将通过网络服务器并受到密码保护的影响。

    你说你正在做include('Mail.php'),但说你安装了mail.php。请记住,基于 Unix 的服务器具有区分大小写的文件系统,而 Mail.php 是与 mail.php 完全不同的文件。您的包含路径也是如此。如果您在/tmp/FOO 中安装了某些东西,但尝试通过/tmp/foo 访问它,它将无法正常工作。

    【讨论】:

    • 我使用的是相对 url,但它位于不同的目录中。不是子目录。如果我理解正确,那应该没什么区别,对吗?
    • 你说得对,这两个文件是不同的。我的错。我安装了 Mail 包,我需要的是 Mail.php 。还有一个 mail.php 文件,但这不是我需要的。它仍然无法正常工作。也许我不应该使用 php5.ini 也许我应该尝试将 PEAR 安装在与我的联系页面相同的目录中。
    • 我得到的错误是 include_path = .:/usr/local/php5/lib/php:/home/content/95/5788391/html/mywebsite/pear_admin/PEAR/Mail/ 警告:include(Mail.php)[function.include]:无法打开流:第64行的/home/content/95/5788391/html/mywebsite/form.php中没有这样的文件或目录
    • /home/content/95/5788391/html/mywebsite/pear_admin/PEAR/Mail/Mail.php 真的存在吗?我认为它实际上是/home/content/95/5788391/html/mywebsite/pear_admin/PEAR/Mail.php,它自己的包含在 .../Mail 子目录中
    • 我需要在 php5.ini 中使用的路径以 /pear_admin/PEAR 结尾,应该这样做,但它给了我以下错误 include_path = .:/usr/local/php5/lib /php:/home/content/95/5788391/html/mywebsite/pear_admin/PEAR 警告:include(Mail.php) [function.include]:无法打开流:/home/content/95 中没有这样的文件或目录/5788391/html/mywebsite/form.php 第 64 行
    猜你喜欢
    • 2015-05-05
    • 2011-06-18
    • 2021-08-13
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2021-10-01
    相关资源
    最近更新 更多