Magento-Modul installieren von SQL nicht ausgeführt
Ich habe ein Modul geschrieben, dass weigert sich point blank zum erstellen der Tabellen, die in meiner mysql4-install-1.0.0.php Datei....aber nur auf dem live-server.
Das lustige an der Sache ist, dass auf meinem lokalen Rechner (das ist ein Spiegel, der live-server (d.h. identische Datei-Struktur, etc)) die Installation ordnungsgemäß ausgeführt und die Tabelle ist erstellt.
Also basierend auf der Tatsache, dass die Dateien identisch sind kann ich davon ausgehen, dass es ein server-Konfiguration und-oder-Berechtigungen-problem? Ich habe überall gesucht und ich finde keine Probleme in der log-Dateien (PHP, MySQL, Apache, Magento).
Ich kann Tabellen erstellen, ok im test-Skripte (mit core_read/schreiben).
Wer sehen dies vor?
Dank
** EDIT ** Ein wesentlicher Unterschied zwischen den 2 Umgebungen ist, dass auf dem live-server die MySQL-Fernbedienung (nicht localhost). Der dev-server ist "localhost". Könnte das die Probleme verursachen?
- Hinzufügen Sie können weitere Module, wie z.B. die developer-toolbar oder etwas anderes bekannt, nicht zu vermasseln ein system? Wenn ja dann ist das problem mit deinem Modul nicht das setup von MySQL etc.
- Spätere Versionen von Magento (1.6+ glaube ich) suchen eine install-1.0.0.php Datei, sondern als eine mysql4-install-1.0.0.php Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das Modul, welches das install-Skript ist ein Teil der Installation auf dem live-server? (XML-Datei in app/etc/modules/, Modul-Liste Modul für die Fehlersuche.)
Gibt es bereits einen Datensatz in der
core_resource
Tabelle für das Modul? Wenn ja, entfernen Sie es, um Ihr Skript erneut ausführen.Wenn du die Datei richtig benannt? Die
_modifyResourceDb
Methode inapp/code/core/Mage/Core/Model/Resource/Setup.php
ist, wo diese Datei include/ausführen aus. Lesen mehr hierWahrscheinlich ein Problem mit Berechtigungen - MySQL-account verwendet, der öffentlich zugängliche code sollte so wenige Berechtigungen wie möglich, die immer noch lassen Sie es den job zu erledigen, die in der Regel NICHT erlauben, zum erstellen/ändern/löschen von Tabellen.
Nehmen, was Benutzernamen, den Sie versuchen eine Verbindung zu mysql mit, und tun:
Dies wird Ihnen zeigen, die user@host-combos zur Verfügung, die insbesondere Benutzername, dann kann man die tatsächlichen Berechtigungen mit
Tun Sie dies für die zwei accounts auf Leben und Entwicklung-server, die Ihnen zeigen, welche Berechtigungen fehlen, aus dem live-system.
In der Admin->System->Advanced-Bereich ist das Modul vorhanden und aktiviert?
Hast du eigentlich entpacken Sie das Modul an den richtigen Platz, z.B. in app/code/local/Origin/yourmodule ?
Haben Sie app/etc/modules/yourmodule.xml - ich glaube, das könnte das übersehen-Datei, die Anlass zu Ihrem problem.
cache könnte der Täter sein, wenn Sie manuell gelöscht core_resource Zeile für das Modul, um die setup-sql erneut ausführen, müssen Sie auch den cache leeren
wohl einen Unterschied zwischen dev und production-Server ist ein cache-Einstellungen, das würde erklären, warum Sie nur sehen diese in der Produktion