2010-03-30 96 views
1

我有一個本地運行良好的CakePHP應用程序。我將它上傳到生產服務器,並且使用數據庫連接的第一頁出現「缺少數據庫表」錯誤。當我查看控制器轉儲時,它正在抱怨第一個表。CakePHP:缺少數據庫表

我已經試過各種東西來解決這個問題,沒有運氣:

  • 我已經證實,在命令行中我可以在database.php中
  • 給定的MySQL的憑據登錄
  • 我已經確認這個表存在
  • 我試過使用MySQL根憑證(暫時)來查看問題是否與用戶的權限有關。出現同樣的錯誤。
  • 我調試級別當前設置爲3
  • 我已經刪除
  • 我已經設置777個權限上/應用/ tmp目錄*
  • 我確認/應用程序的/ tmp /緩存的全部內容我可以在使用應用程序使用的MySQL憑據登錄時在commant行MySQL上運行DESCRIBE命令
  • 我已驗證CakePHP日誌文件僅包含我在瀏覽器窗口中設置的錯誤。
  • 我試過在SO
  • 我用Google搜索周圍所有的建議我能找到類似的帖子,並沒有發現任何其他的想法

我想我已經消除了明顯的問題和我的研究並沒有改變任何事情。我覺得我失去了一些明顯的東西。有任何想法嗎?

+0

有趣......我可能會問你發佈一些涉及'Model'和'Controller'類的代碼嗎? – 2010-03-30 03:35:37

回答

0

您是否嘗試檢查生產數據庫是否正確拾取?在生產服務器上嘗試echo,並查看它選擇的數據庫。 另外,請確保表格不具有不同的大小寫名稱,而不是生產服務器上的大小寫名稱。 MySQL可以配置爲「表」和「表」之間的區別。 您可能有一些代碼行選擇基於頂級域名的不同數據庫,就像我看過很多次那樣。

+0

好主意,但沒有幫助。表名稱Cake試圖得到的是「accounts」,它是數據庫中的「accounts」,我將lower_case_table_names設置爲1,都沒有運氣。 – Justin 2010-03-30 04:02:36

+0

另外,我不明白你在MySQL上下文中的意思。你可以解釋嗎? – Justin 2010-03-30 04:04:05

+0

我在說你應該在視圖中回顯實際參數,以查看實際選定的數據庫是什麼。原始但有用:) – 2010-03-30 20:38:29

0

史詩在我的部分失敗。 database.php中的數據庫名稱末尾有空格。有趣的是,這沒有返回連接問題(也許他們在測試連接時修剪名稱?)。

+1

這不是一個「史詩般的失敗」......它更像是一個EPHIC失敗! – 2010-03-30 15:36:34

+2

大聲笑。或者,也許「史詩般的失敗」 – Justin 2010-03-30 19:43:03

+0

Efic桶! - 對不起,我找到了 – starlocke 2013-08-05 22:02:24