【问题标题】:Can I use MS SQL Server as the backing database for Joomla?我可以使用 MS SQL Server 作为 Joomla 的后备数据库吗?
【发布时间】:2011-10-25 22:06:38
【问题描述】:

Joomla 是一个用 PHP 编写的开源 CMS,最初基于 Apache、MySQL 和 Linux。

现在它在 IIS + Windows 上运行。

我能否在我的 Windows 机器上安装它,使用 MS SQL Server 而不是 MySQL?

我看到a video 显示有人这样做。但是当我下载 joomla 安装程序时,无法将其安装到 MS SQL 上。

【问题讨论】:

    标签: php joomla


    【解决方案1】:

    可能但很难完成,并且没有官方驱动程序。 您可以找到更多信息here

    【讨论】:

    • 是的,但该答案已有 2 年历史,此时已过时。
    【解决方案2】:

    是的,您只需要安装正确版本的 Joomla。

    http://joomlacode.org/gf/project/joomlaonanydb

    Joomla 1.6 RC1

    【讨论】:

      【解决方案3】:

      在使用 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”,但无论如何都不是发布质量。


      如果你尝试这个,你还需要一堆其他的先决条件。

      • 当然是 PHP。我用的是 v5.3.6
      • the MS SQL Server drivers for PHP -- 我使用 VC9 运行时获取了用于单线程使用的驱动程序构建。这需要匹配我的 php 版本。见下文。我不得不将 php_sqlsrv_53_nts_vc9.dll 和 php_pdo_sqlsrv_53_nts_vc9.dll 放入 PHP 的 ext/ 目录中。
      • SQL Server 或SQL Server Express (the free version)。您可能需要应用服务包。

      PHPinfo 页面显示 VC 运行时版本和线程安全参数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 2011-04-18
        相关资源
        最近更新 更多