【问题标题】:php included file not updating after editphp包含的文件在编辑后不更新
【发布时间】:2015-05-15 15:45:36
【问题描述】:

我正在使用 Pear Mail 通过 php 发送电子邮件。当所有包含在 Pear Mail 库中都不起作用时,我第一次遇到了麻烦 - 但是当研究表明我需要将所有文件路径更改为绝对文件路径时找到了答案。我正在这样做......但是,在更改一个并刷新我的浏览器窗口后,错误消息没有改变: 有问题的行:

include_once "Net/SMTP.php";

这是我得到的警告:

警告:include_once(Net/SMTP.php):打开流失败:第 348 行的 /usr/local/lib/php/Mail/smtp.php 中没有这样的文件或目录

我在文件路径中将“Net/SMTP.php”更改为:“/home/username/php/Net/SMTP.php”,但我继续收到同样的错误。在之前的更改中(我搞砸了),我收到了错误,并在警告中看到了新的不正确文件路径,所以我知道消息的一部分至少应该改变。

我检查了很多东西以确保我没有发疯:

  1. 我的编辑通过了 - 我在 2 个单独的编辑器中打开了我编辑的文件,发现我的更改是正确的。
  2. 我的文件路径正确 - 再次检查两个单独的编辑器以确保文件路径正确。
  3. 在另一个文件夹中搜索了重复的文件名 - 以防我编辑了错误的文件。

我做了以下尝试来修复它:

  1. 将文件路径更改为不同的路径
  2. 将所有“include_once”更改为“include”(以防我的浏览器不想重新加载文件
  3. 刷新了我的浏览器/清除了缓存/在多个浏览器和计算机上查看过
  4. Google 搜索了我能想到的所有内容
  5. 在现实生活中的纸质书中寻找可能的新手错误

我的直觉告诉我我的浏览器没有刷新包含的文件。 但也许不是我的服务器?

我的直觉也告诉我,这是你在第一天就学会避免的一个基本错误。

非常感谢任何帮助、线索、引导性问题、链接等。

谢谢!!!

【问题讨论】:

  • Pear Mail 已经五年没有更新了。请改用PHPMailer
  • 您是否尝试按 CTRL-F5 重新加载页面?
  • 浏览器无法知道 PHP 代码中发生了什么,因此它不关心您是否包含文件、硬编码等。它可以缓存整个页面,但.但是,如果它没有发生在其他计算机上,则情况并非如此。你确定你已经更新了服务器上的文件(也许它的上传被跳过了)?
  • ? @JayBlanchard 如果这没有帮助,请告诉我,以便我修改以帮助您。如果您愿意,我可以删除我的建议来调试错误。请告诉我。谢谢。我的回答没有被删除。
  • 在 cmets 部分添加您的建议。

标签: php include warnings php-include


【解决方案1】:

你应该在命令行窗口中使用它:

pear install Mail

pear install Net_SMTP

那么你的路径就不再需要了,因为 PHP 会处理它。 如果你之前没有安装pear,当然要先安装。

https://pear.php.net/manual/en/installation.php

【讨论】:

  • 这可能有效,但我安装了 PHPMailer 并且工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多