【发布时间】:2011-10-25 22:06:38
【问题描述】:
Joomla 是一个用 PHP 编写的开源 CMS,最初基于 Apache、MySQL 和 Linux。
现在它在 IIS + Windows 上运行。
我能否在我的 Windows 机器上安装它,使用 MS SQL Server 而不是 MySQL?
我看到a video 显示有人这样做。但是当我下载 joomla 安装程序时,无法将其安装到 MS SQL 上。
【问题讨论】:
Joomla 是一个用 PHP 编写的开源 CMS,最初基于 Apache、MySQL 和 Linux。
现在它在 IIS + Windows 上运行。
我能否在我的 Windows 机器上安装它,使用 MS SQL Server 而不是 MySQL?
我看到a video 显示有人这样做。但是当我下载 joomla 安装程序时,无法将其安装到 MS SQL 上。
【问题讨论】:
可能但很难完成,并且没有官方驱动程序。 您可以找到更多信息here
【讨论】:
【讨论】:
在使用 joonla+SQL Server 一段时间后编辑。
是的,您可以在 SQL Server 上运行 joomla。但是有一些重要的警告。
您必须下载修改后的 joomla 安装。我发现最好的是经过修改的 v1.6 joomlaposted by Sudhi from Hooduku。直接链接是here。这是一次性的。
我发现没有支持 SQL Server 的当前 (v1.7) 版本的 joomla。
据我所知,没有承诺会持续维护这个东西。我查看了 joomla 发布计划,并没有将 SQL Server 支持视为一项承诺。
最后,可能也是最重要的一点,它不起作用。
如何不起作用?让我来计算一下。
joomla 源代码中散布着查询,用于检索模块名称、文章内容、评级等内容。大多数 SQL 代码适用于 MySQL,而不适用于 SQL Server。 “multidb”修改版修改最多?其中许多查询允许事物与 SQL Server 一起工作。但是,很多东西都被忽略了。例如:我找到了一个查询,现在无法回忆,它使用 LENGTH 来获取字符串的长度,而不是 SQL Server 函数 LEN。这导致查询中断,无论我试图做什么,都没有发生。
另一种情况(我再次忘记了发生这种情况的确切时间)与插入一行有关。 joomla 代码使用类似INSERT INTO table column1=4 column2=18 的语法。实际上,现在我输入了这个,我准确地记得那个表——它是#__modules_menu 表。 correct SQL Server syntax to insert 一行是 INSERT INTO table (column1, column2) VALUES(4, 128) 。一个足够简单的改变,但你需要通过 joomla 的 PHP 代码来找出在哪里做它。
还有其他无数错误出现,主要与格式错误的 SQL 语法有关。将列视为数字,而实际上它是字符串。为 ORDER BY 子句使用错误的表别名。
我发现上传一个新模板有点可行 - 模板已解压缩并被识别,没有报告错误。但无论出于何种原因,模板样式表都没有得到更新,因此在上传后,该模板实际上在管理面板中不可用。如果我手动在#__template_styles 中插入一个条目,那么模板就可用了。
我使用的特殊 joomla 下载标签上的名称是“RC1”,但无论如何都不是发布质量。
如果你尝试这个,你还需要一堆其他的先决条件。
PHPinfo 页面显示 VC 运行时版本和线程安全参数
【讨论】: