отредактировано, проведя некоторое время с joonla + SQL Server .
Да, вы можете запустить joomla на SQL Server, вроде.Но есть несколько больших предостережений.
Вы должны загрузить модифицированную установку Joomla.Лучшим, что я нашел, была модифицированная версия 1.6 Joomla , опубликованная Судхи из Hooduku .Прямая ссылка здесь .Это единовременное решение.
На данный момент нет найденной версии v1.7 (joomla), поддерживающей SQL Server.
Насколько я могу судить, нет никаких обязательств по постоянному обслуживанию этой вещи.Я посмотрел план выпуска 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
. правильный синтаксис SQL Server для вставки строки: INSERT INTO table (column1, column2) VALUES(4, 128)
.Достаточно простое изменение, но вам нужно скрыться в PHP-коде Joomla, чтобы выяснить, где это сделать.
Были и другие несметные ошибки, в основном связанные с искаженным синтаксисом SQL.Обрабатывать столбец как число, когда он на самом деле является строкой.Использование неправильного псевдонима таблицы для предложения ORDER BY
.
Я обнаружил, что загрузка нового шаблона вроде сработала - шаблон был распакован и распознан, ошибок нет.Но таблица стилей шаблона не получила обновления по какой-либо причине, поэтому шаблон фактически не был доступен в административных панелях после загрузки.Если я вручную вставил запись в #__template_styles, то шаблон стал доступен.
Название на этикетке специальной загрузки Joomla, которую я использовал, говорит "RC1", но это не качество выпуска, как ни крути.
Если вы попробуете это, вам также понадобится множество других предварительных условий.
- PHP, конечно.Я использовал v5.3.6
- драйверы MS SQL Server для PHP - я собрал сборку драйвера для однопоточного использования со средой выполнения VC9.Это должно соответствовать моей версии PHP.Увидеть ниже.Мне пришлось зайти в php_sqlsrv_53_nts_vc9.dll и php_pdo_sqlsrv_53_nts_vc9.dll в каталог ext / для PHP.
- SQL Server или SQL Server Express (бесплатная версия) .Вам может потребоваться применить пакеты обновления.
На странице PHPinfo показана версия среды выполнения VC и параметры безопасности потока