gpt4 book ai didi

php - 为什么这个 PHP 错误引用本地主机?

转载 作者:搜寻专家 更新时间:2023-10-31 20:56:26 26 4
gpt4 key购买 nike

我在我的本地机器和办公室的服务器上运行 XAMPP。两者都是Windows机器。

我正在编写一些代码,使用 mail() 从表单发送电子邮件。默认情况下,它使用 sendmail.exe(XAMPP 附带)发送电子邮件。在所有情况下,邮件实际上都是通过第三台机器发送的,即 Exchange 服务器。

在我的本地机器上,PHP 可以很好地发送邮件。在服务器上,在提交表单时出现此错误:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp___port" setting in php.ini or use ini_set() in

...后跟我的文件名。

我不明白为什么它引用“localhost”。 在 php.ini 或 sendmail.ini 中没有任何地方使用“localhost”——我使用邮件服务器的名称。两台机器上使用的 SMTP 信息是相同的。

据我所知,这两种环境具有重要的共同点:

  • php.ini 文件相同
  • sendmail.ini 文件相同
  • 两台机器都安装了相同版本的 XAMPP
  • 相同的批处理脚本将在两台机器上运行,并通过 sendmail.exe 成功发送电子邮件

我已经多次停止并启动 Apache 以确保它使用更新的配置文件。

当我收到上述错误时,我注意到 sendmail.exe 没有生成任何日志文件,这让我觉得它从未运行过。

我错过了什么?

已解决

我的问题是,我认为它使用的是 c:\xampp\php\php.ini,但实际上它使用的是 c:\xampp\apache\bin\php.ini 。这应该是显而易见的,我之前已经在本地计算机上编辑了正确的文件,但是在服务器上进行更改时不知何故我感到困惑。

使用 php_info() 显示加载了哪个配置文件,我编辑了正确的配置文件。它现在工作了!感谢大家的帮助。

最佳答案

您应该在页面中添加对 phpinfo() 的调用,并检查:

  • 您的 PHP 脚本使用了正确的 php.ini
  • 检查 SMTP ini 设置(显示在 phpinfo 表中)是否正确。

关于php - 为什么这个 PHP 错误引用本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1274897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com