将Joomla 1.5网站移至新的(现代)主机..MySQL数据库不向后兼容


Moving Joomla 1.5 website to new (modern) hosting... is MySQL DB not backwards compatible?

长话短说,下面是我要尝试做的:

有一个Joomla 1.5网站上有MySQL(可能是当时的MySQL版本)。我需要把它移到一个新的主机上。我不想升级Joomla,我只想把它移过去。

将Joomla转移到现代托管有什么问题吗?MySQL数据库向后兼容吗。。。如果…更新的主机有更新版本的MySQL?

我之所以这么问是因为我这么做是为了一个朋友。他雇佣了一个IT人员,他已经两个月没能做到这一点了。我很犹豫要不要帮忙,因为我是一个微软/IIIS/ASP.NET的家伙。。。但看起来我现在要上场了。这家伙声称,新的主机有一个新的MySQL,不想与网站上的旧SQL一起工作。

这是一项简单的任务,还是这家伙真的在说实话?

即使在最现代的托管包上运行Joomla 1.5也没有问题。请确保您已首先更新到Joomla 1.5.25,这是该版本Joomla的最新补丁。这一点之所以重要(除了安全修复之外),是因为对php 5.3的支持是在1.5.16或1.5.17左右的某个时候才添加的。有些主机有5.3+,所以为了安全起见,最好选择。对于MySQL,Joomla 1.5安装脚本使用了一个不推荐使用的关键字,不会在MySQL 5.5上安装。大多数主机都使用5.1,所以这应该不是问题。

但是,如果该服务器上确实有5.5,这里有一个快速解决方案:基本上,sql文件在所有地方都使用"TYPE=MyISAM"。TYPE已被弃用,取而代之的是ENGINE。因此,如果你想在MySQL 5.5上使用安装程序进行安装,你需要打开.sql并替换"TYPE=MyISAM",将其更改为"ENGINE=MyISAM"并保存。安装程序现在应该可以工作了。

顺便说一句,移动Joomla最简单的方法是使用Akeeba Backup对网站和数据库进行存档,将其上传到新服务器,提取并运行安装程序。省去了这个过程中的大部分麻烦(如果在5.5上,您仍然需要修改.sql)。

这一切听起来都很不寻常

如果它是一个Joomla 1.5网站,那么获得Akeeba备份(有一个免费版本,可以做所有需要的事情)。

进行备份,将其与kickstart脚本一起复制到新服务器-浏览到新服务器上的kickstart脚本并按照提示进行操作。当kickstart脚本运行时,您将需要所有常见的东西,如新数据库的名称、数据库用户、密码等。我建议您通读全面的文档。

Joomla 1.5是用PHP4构建的(我可以说,因为Joomla的核心代码仍然使用1.7中没有的"&"引用运算符),PHP5中仍然支持PHP4代码。所以PHP问题没有问题。

Joomla的数据库通常在MyISAM中,但有一次我将它们转换为InnoDB,没有出现任何问题。我从某个地方读到一篇文章,Joomla并不介意DB中的差异,因为它自己锁定表/行,自己建立外键关系(不使用DB的外键函数)

此外,Joomla还有一个配置文件。在那里,您可以更改在管理配置页面中看到的几乎所有内容,以及在安装过程中设置的值(如FTP设置、数据库设置)。

在你转移之前,你所需要做的就是备份网站,导出数据库,记下你的目标数据库用户名和密码,知道目标的日志、缓存和/或临时文件夹在哪里,你就可以去了。任何其他错误,您应该在Joomla中看到。

如果我可以补充的话,Joomla为那些想要升级到最新版本并保留其网站的人提供了一个简单的迁移过程。但是,如果您使用插件和扩展,我建议您在升级之前检查这些扩展的更新。

您没有提到您的"现代"托管服务器正在运行的PHP版本。仅供参考,Joomla 1.5.x版本与PHP 5.4+不兼容。