Ich habe das Benutzerhandbuch gelesen, das mit CodeIgniter geliefert wurde. Ich wurde sehr interessiert an der dbutil()
Methode. Besonders die folgende Codezeile:
Es soll die aktuell geladene MySQL-Datenbank sichern. Aber leider funktioniert es nicht und ich bekomme die folgende Nachricht:
Ein PHP Fehler ist aufgetreten
Bewertung: Hinweis
Nachricht: Nicht definierte Eigenschaft: CI_Loader :: $ dbutil
Dateiname: views / view.php
Zeilennummer: 10
Schwerwiegender Fehler: Aufruf einer Memberfunktion backup () auf einem Nicht-Objekt in C: \ xampp \ htdocs \ CodeIgniter \ Anwendung \ views \ view.php in Zeile 10
Was fehlt mir hier? Jede Hilfe würde wirklich geschätzt werden.
Das mit PHP funktioniert nur für sehr kleine Datenbanken. Sie werden sehr schnell in Speichergrenzen laufen - wenn Sie diese anderen Leistungsprobleme erhöhen.
Am besten funktioniert das Erstellen eines Speicherauszugs mit mysqldump:
%Vor%natürlich müssen Sie die erforderlichen Berechtigungen dafür haben.
Probieren Sie es aus ... es wurde getestet ... Wenn Sie mysqli benutzen wollen, dann funktioniert es gut ... Sie können Ihren Code in Ihren Controller oder Ihr Modell einfügen, aber ich schlage vor, diesen in your_model zu behalten &Ampere; Rufen Sie diese Funktion von Ihrem_Controller ...
auf %Vor%Einfacher Weg zur Sicherung der Datenbank mittels Code-Signierer
Wenn Sie das Glück haben, dass auf Ihrem Server eine der Funktionen exec()
, shell_exec()
, system()
oder passthru()
aktiviert ist. Vielleicht möchten Sie Folgendes verwenden:
Ich bin extrem neu in CodeIgniter, aber es ist mir gelungen, dieses Backup zu machen. Versuchen Sie dies, es wird erfolgreich funktionieren und ist sehr einfach zu implementieren. Schreiben Sie den Code in Ihren Controller und rufen Sie die Funktion von Ihrer Ansichtsseite auf, die für die Sicherung verwendet wird. Mach dich bereit, geh und du bist fertig.
%Vor%Führen Sie für Ihre vollständige Anwendungssicherung das gleiche Verfahren mit dem folgenden Code aus:
%Vor%Hier können Sie einen beliebigen Pfad Ihrer Wahl verwenden.
Diese Zeilen wurden aus der Codegeigner-Dokumentation entnommen:
Wichtig: Um die Utility-Klasse zu initialisieren, müssen Sie Ihre Datenbank verwenden Der Treiber muss bereits ausgeführt werden, da die Utilities-Klasse darauf angewiesen ist es.
Bitte überprüfen Sie beim Aufruf dieser Funktion, ob Ihre Datenbankklasse geladen ist oder nicht. Oder Sie können diese Zeile vor dem Laden der dbutil-Klasse $this->load->database();
Das Problem ist, dass Sie versuchen, die Datenbank sehr früh während des Bootstrapping zu sichern.
Ich stieß auf das gleiche Problem, als ich versuchte, CodeIgniter zu sichern, um meine Datenbank mit Hilfe von:
zu sichern %Vor% am Ende meiner config.php
-Datei.
Bewegen Sie dies zu einem Modell und lassen Sie es automatisch laden, und alles wird gut.
Tags und Links php mysql database codeigniter