【问题标题】:Upgraded to Joomla 2.5.6 - "Could not execute: /usr/sbin/sendmail"升级到 Joomla 2.5.6 - “无法执行:/usr/sbin/sendmail”
【发布时间】:2012-08-24 02:38:15
【问题描述】:

升级到 Joomla 2.5 以便我可以使用最新版本的 Virtuemart 后,系统电子邮件不再起作用。

我已经根据 php.ini 文件中的条目检查了 Sendmail 路径。 (/usr/sbin/sendmail)。

如果我尝试使用 Joomla 的 Sendmail 选项,我会收到 Could not execute: /usr/sbin/sendmail.

如果我尝试使用 PHP 邮件,我会收到 Could not instantiate mail function.

另外,我不能再上传模板:

JFolder::create: Could not create directory
Warning: Failed to move file!

我知道我可以 777 所有相关文件夹以使其正常工作,但这是不可接受的。此外,这肯定对解决邮件问题没有帮助。

文件权限与以前相同。我的网络托管服务商需要更改哪些内容才能让 Joomla 完成我升级之前所做的事情?

谢谢,

安迪

[编辑] 我复制了站点,导出了 SQL 并迁移到不同的服务器进行测试。一切正常,所以我可以确认问题不在于我的 Joomla 安装,而在于服务器环境。

【问题讨论】:

    标签: joomla sendmail joomla2.5 phpmailer php


    【解决方案1】:

    您的托管解决方案是否与 Joomla 要求兼容:mysql 和 php 版本?

    如果是:
    - 使用您的 ftp 客户端检查 Joomla 文件夹的所有者
    - 安装从 2.5 到 2.5.x 的手动升级补丁(可能某些文件在更新过程中损坏)
    - 在所需文件夹上尝试 chmod 777

    【讨论】:

      【解决方案2】:

      请检查全局配置中的邮件设置..

      Joomla 管理员->站点->全局配置->服务器->邮件设置

      • 将邮件选项更改为sendmail,然后检查
      • 在升级过程中,有时补丁文件可能会损坏或丢失。可能这也导致了这个问题。
      • JFolder::create: 无法创建目录由于文件夹权限而发生此警告。检查你的文件夹权限。

      【讨论】:

        【解决方案3】:

        首先,不要给777设置任何权限,这是必要的,也有安全风险。你确定你的权限是正确的吗?进入管理员,然后站点 > 系统信息 > 目录权限并确保所有内容都是可写的。文件夹应为 755,文件应为 644。

        如果您之前启用了 FTP 模式,您可能想看看那里。但是,与其使用 FTP 模式,不如使用以 CGI 模式运行 PHP 的主机。它不仅更安全,而且通常可以解决大多数权限问题。

        【讨论】:

        • 同意文件权限。查看系统信息>目录权限。说 Log 和 Temp 目录是不可写的,但是当我 ftp 进入它们时它们是 755(文件是 644)。我什至尝试将 /tmp 和 /logs 文件夹权限更改为 777 并且系统信息仍然显示“不可写”这怎么可能?
        • 系统信息>PHP 信息显示'Server API:CGI/FastCGI'
        • 更改为 web 根目录中的日志和 tmp 目录,现在它们是可写的。现在得到:JFolder::create: Could not create directory Unable to create destination Mail 问题和以前一样。
        • 可以安装模板吗?您可能还想安装一个干净的 2.5.x 版本,看看它是否有同样的问题,然后再花太多时间来跟踪这个问题。
        • 我也无法安装模板。安装了一个干净的 2.5.6 并且有完全相同的错误。目录权限全部可写。我在安装过程中注意到的一件事是,对于服务器 PHP 设置,有 2 条建议没有得到满足。 “安全模式”和“Magic Quotes GPC”建议关闭,但实际上已打开。感谢您抽出宝贵时间,@Brent,我非常感谢。
        【解决方案4】:

        网络主机已解决该问题。我在这里引用他们的解决方案:

        "在服务器全局 php.ini 文件中,出于安全原因,我们禁用了一些功能,所以要覆盖它,您可以简单地在文档根文件夹(public_html 文件夹下)下创建一个自定义 php.ini 文件并更新/更改/启用这些值以使您的网站正常运行。

        请注意,这样做是为了安全,以避免任何外部黑客/恶意软件等。

        您只需将 php.ini(上传到 public_html 文件夹)复制/粘贴到您正在运行应用程序的其他域帐户的目录位置。

        即使关闭本地 php.ini 中的值,脚本/应用程序也会正常工作,因为它会覆盖全局 php.ini 文件中的值。请注意,由于服务器上启用了 suPHP,因此用户可以选择创建自己的自定义 php.ini 文件并覆盖全局设置的实际值。

        我已经上传了 public_html 文件夹下的自定义 php.ini 文件,然后 sendmail 开始工作了。”

        【讨论】:

          【解决方案5】:

          Joomla 2.5.8 也有同样的问题。 我刚刚更改了 Global Cnf-Server-Mail 设置。 SendMail 改成 PHP Mail 就没有问题了..

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-06-11
            • 1970-01-01
            • 2016-11-12
            • 2012-08-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-02-08
            相关资源
            最近更新 更多