Wie kann ich eine SQLite DB mit PHP und Wamp Server verwenden und darauf zugreifen?

8

Ich weiß, dass PHP 5 bereits SQLite unterstützt, aber aus irgendeinem Grund kann ich es nicht zum Laufen bringen.

Ich folgte den Anweisungen aus dem SQLite-Lernprogramm: Erste Schritte . Ich habe auch sichergestellt, dass die folgenden nicht aus der php.ini kommentiert sind:

%Vor%

Aber wenn ich die PHP-Datei von localhost mit Firefox öffne, bekomme ich diesen Fehler:

  

Schwerwiegender Fehler: Klasse 'SQLiteDatabase' nicht gefunden.

Ich bin übrigens auf Windows, wenn diese Info zählt.

Was könnte die Ursache für dieses Problem sein?

    
Jarvis 07.07.2009, 09:08
quelle

3 Antworten

8

Ich denke, die Klasse SQLiteDatabase stammt von der Erweiterung sqlite eher pdo_sqlite . Sie können also die Erweiterung sqlite aktivieren oder stattdessen PDO verwenden:

%Vor%     
Tom Haigh 07.07.2009, 09:25
quelle
5

Unter Windows müssen Sie Folgendes in Ihrem Ini festlegen:

%Vor%

Ich empfehle Ihnen, diese Seite im Handbuch zu lesen.

    
Kieran Hall 07.07.2009 09:31
quelle
2

Die Klasse SQLiteDatabase ist ein Objekt aus der SQLite -Bibliothek, deren Unterstützung in PHP gelöscht wurde 5.4, ​​aber auf verschiedenen Systemen und Konfigurationen könnte in früheren Releases deaktiviert werden, da diese Bibliothek lange Zeit als veraltet markiert wurde.

Die Bibliothek php_sqlite.dll (Windows) oder php_sqlite.so (Linux) wird in neueren PHP-Versionen nicht mehr unterstützt und durch php_sqlite3.dll bzw. php_sqlite3.so ersetzt.

Sie können:

  1. Versuchen Sie, php_sqlite.dll ( php_sqlite.so ) irgendwo im Internet zu finden. Links wie dies oder dies kann hilfreich für Sie sein. Allerdings müssen Sie die alte SQLite-Bibliotheksdatei sorgfältig mit der PHP-Plattform ( x64 oder x86 ), Build-Engine ( VC6 , VC9 oder VC11 ), Version ( 5.x ) und type ( TS für thread safe oder NTS für nicht threadsicher ). Dies könnte eine schwierige Aufgabe sein.

  2. Lassen Sie php_sqlite.dll ( SQLiteDatabase ) zurück und versenden Sie in Richtung new php_sqlite3.dll ( SQLite3 object). Sie müssen zuerst ein Werkzeug wie SQLite Studio verwenden, um Ihre Datenbankdatei von 2.1 auf 3.0 zu konvertieren (die Größe kann sogar um ein verringert werden halb) und dann vergleichen Sie SQLite und SQLite3 PHP-Handbuchseiten zum Ändern von notwendigen Objekten und Funktionen aufrufen.

Wenn Option zwei ist, beachten Sie, dass dies keine schwere Arbeit sein sollte, da die Änderungen nicht so groß sind. Zum Beispiel, was ich bisher gelernt habe:

  • SQLiteDatabase - & gt; SQLite3 ,
  • SQLiteDatabase::unbufferedQuery - & gt; SQLite3::query ,
  • SQLiteResult::fetchAll(SQLITE_*) - & gt; SQLite3Result::fetchArray(SQLITE3_*) etc.

Was das Holen betrifft, hatten wir in alten SQLite :

%Vor%

Während wir in SQLite3 sollten wir:

%Vor%

Andere Änderungen erfordern ähnlich viel Arbeit, also sollte dies kein lebenslanger Prozess sein.

Ich rate jedem natürlich dringend, nach vorne zu gehen und zweite Option zu wählen. Fortschritt ist in den meisten Fällen die bessere von zwei verfügbaren Optionen.

    
trejder 16.05.2013 13:03
quelle

Tags und Links