Hallo
Ich habe im Endeffekt zwei Fragen.
1.) Auf meinem eigenen Server habe ich sqlite mittels dem APT-Paket php5-sqlite installiert. Ich habe ein Script, das am Ende dieses Beitrages komplett gepostet ist. Das Script bricht exakt nach der Ausgabe des Textes "Step 2..." ab.
Ein unerklärlichen Phänomen... Es wird eine Datenbank mit 0 Byte Größe angelegt. D.h. die Query wird nciht ausgeführt, und das Script stoppt hier. Meine Meinung: Der PHP-Prozess crasht an der Stelle. Hat sich bestätigt:
Code:
[Fri Mar 05 00:44:14 2010] [notice] child pid 14517 exit signal Segmentation fault (11)
Kennt jemand das Problem, bzw die Lösung?
2.) Gibt es eine Möglichkeit, SQLite3 zu nutzen, und zwar auf einem Webspace, der nichteinmal SQLite 1 oder 2 eincompiliert bzw als modul eingebunden hat? (Gibt es einne verfügbare Klasse die ich einfach includen kann?)
Das Script:
PHP-Code:
<?php
header("Content-type: text/html; charset=iso-8859-1");
error_reporting(E_ALL);
ini_set('display_errors', true);
echo "Step 1: Creating empty DB...<br>";
flush();
//Erstellt eine neue Datenbank.
unlink("./test.db");
$db = sqlite_open("./test.db");
$query = <<< END
CREATE TABLE `navi` (`ID` INT UNSIGNED, `term` VARCHAR (40), PRIMARY KEY(`ID`));
CREATE TABLE `deutsch` (`ID` INT UNSIGNED, `term` VARCHAR (40), PRIMARY KEY(`ID`));
CREATE TABLE `join_navi_deutsch` (`ID` INT UNSIGNED, `naviID` INT UNSIGNED, `deutschID` INT UNSIGNED, PRIMARY KEY(`ID`));
END;
flush();
echo "Step 2: Creating Tables...<br>";
flush();
sqlite_exec($db, $query, &$err); //Struktur
print $err;
flush();
$query = <<< END
INSERT INTO `navi` (1, 'Kaltxì');
INSERT INTO `navi` (2, 'lumpe');
INSERT INTO `navi` (3, 'pelun');
INSERT INTO `navi` (4, 'skxawng');
INSERT INTO `deutsch` (1, 'Hallo');
INSERT INTO `deutsch` (2, 'Warum');
INSERT INTO `deutsch` (3, 'Wieso');
INSERT INTO `deutsch` (4, 'Weshalb');
INSERT INTO `deutsch` (5, 'Trottel');
INSERT INTO `join_navi_deutsch` (1, 1, 1);
INSERT INTO `join_navi_deutsch` (2, 2, 2);
INSERT INTO `join_navi_deutsch` (3, 2, 3);
INSERT INTO `join_navi_deutsch` (4, 2, 4);
INSERT INTO `join_navi_deutsch` (5, 3, 2);
INSERT INTO `join_navi_deutsch` (6, 3, 3);
INSERT INTO `join_navi_deutsch` (7, 3, 4);
INSERT INTO `join_navi_deutsch` (8, 4, 5);
END;
flush();
echo "Step 3: Inserting Values...<br>";
flush();
sqlite_exec($query, $db); //Testdaten
sqlite_close($db);
flush();
?>