升级到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安装,而是服务器环境。
答案 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管理员 - >网站 - >全局配置 - >服务器 - >邮件设置