2011-08-12 95 views
0

Joomla是一個用PHP編寫的開源CMS,最初基於Apache,MySQL和Linux。我可以使用MS SQL Server作爲Joomla的支持數據庫嗎?

現在它運行在IIS + Windows上。

我可以使用MS SQL Server而不是MySQL將它安裝在我的Windows機器上嗎?

enter image description here

我見過a video顯示一個人這樣做。但是當我下載joomla安裝程序時,無法將它安裝到MS SQL上。

回答

0

花了一些時間與joonla + SQL服務器後編輯。

是的,你可以在SQL Server上運行joomla,排序。但是有一些重要的警告。

  • 您必須下載修改後的joomla安裝。我發現的最好的是修改後的v1.6 joomla posted by Sudhi from Hooduku。直接鏈接是here。這是一次性的。

  • 目前沒有支持SQL Server的joomla版本(v1.7),我發現。

  • 據我所知,沒有承諾持續維護這個東西。我查看了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運行庫版本和線程安全PARAMS enter image description here

0

可能但很難說,沒有官方的驅動程序。 你可以找到更多的信息here

+0

是的,但這個問題的答案爲2歲,在這一點上已經過時。 – Cheeso

相關問題