升级到Joomla 2.5.6 - “无法执行:/ usr / sbin / sendmail”

时间:2012-08-29 13:08:28

标签: joomla sendmail joomla2.5 phpmailer php

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

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

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

如果我尝试PHP Mail,我会得到Could not instantiate mail function.

此外,我无法再上传模板:

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

据我所知,我可以使用777所有相关文件夹来实现此功能,但这是不可接受的。此外,这肯定无助于邮件问题。

文件权限与之前相同。我的Web主机需要更改什么才能让Joomla在升级之前完成它所做的事情?

谢谢,

安迪

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

5 个答案:

答案 0 :(得分:3)

与Joomla 2.5.8相同的问题。 我刚刚更改了Global Cnf-Server-Mail设置。 SendMail已更改为PHP Mail,不再有任何问题..

答案 1 :(得分:1)

首先,不要为777设置任何权限,这是必要的并且存在安全风险。您确定自己的权限是否正确?进入管理员,然后访问网站>系统信息>目录权限并确保一切都是可写的。文件夹应为755,文件应为644。

如果您之前启用了FTP模式,则可能需要查看该模式。但是,您应该使用在CGI模式下运行PHP的主机,而不是使用FTP模式。它不仅更安全,而且通常可以解决大多数权限问题。

答案 2 :(得分:1)

网络托管服务商已解决此问题。我在这里引用他们的解决方案:

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

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

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

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

我已将自定义php.ini文件上传到public_html文件夹下,然后sendmail开始工作。“

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

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

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