[英]Magento Module install SQL not running
我已經編寫了一個模塊,它拒絕在我的 mysql4-install-1.0.0.php 文件中創建表......但僅在實時服務器上。
有趣的是,在我的本地機器(它是實時服務器的鏡像(即相同的文件結構等))上,安裝正確運行並創建了表。
因此,基於文件相同的事實,我可以假設這是服務器配置和/或權限問題嗎? 我到處查看,在任何日志文件(PHP、MySQL、Apache、Magento)中都找不到任何問題。
我可以在測試腳本中創建表格(使用 core_read/write)。
有人以前看過這個嗎?
謝謝
** 編輯 ** 兩種環境之間的一個主要區別是,在實時服務器上,MySQL 是遠程的(不是本地主機)。 開發服務器是本地主機。 這會導致問題嗎?
可能是權限問題 - 面向公眾的代碼使用的 MySQL 帳戶應該具有盡可能少的權限,但仍然可以完成工作,這通常不允許創建/更改/刪除表。
使用您連接到 mysql 的任何用戶名,然后執行以下操作:
SELECT User, Host
FROM mysql.user
WHERE User='your username here';
這將向您顯示該特定用戶名可用的 user@host 組合,然后您可以獲得實際權限
show grants for username@host;
對 live 和 devlopment 服務器上的兩個帳戶執行此操作,這將顯示 live 系統缺少哪些權限。
緩存可能是罪魁禍首,如果您手動刪除模塊的 core_resource 行以使設置 sql 再次運行,您還必須刷新緩存
開發服務器和生產服務器之間的區別可能是緩存設置,這可以解釋為什么你只在生產中看到這個
在 Admin->System->Advanced 部分中,您的模塊是否存在並啟用?
您是否真的將您的模塊解壓到正確的空間,例如 app/code/local/yourcompany/yourmodule?
你有 app/etc/modules/yourmodule.xml - 我相信這可能是導致你的問題的被忽視的文件。
對我來說,這個問題出現在使用 Windows 進行開發。 Linux 系統區分大小寫。 在我的config.xml
中,設置部分被命名為camelCase
而文件夾被命名為all-lowercase
。 使它們相同使腳本運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.