Ansicht umschalten
Avatar von iMil
  • iMil

mehr als 1000 Beiträge seit 26.11.2004

PHP, SQLite und PDO ...

ich habe einen Rechner, auf dem PHP 7.3, Apache2 und SQlite 3, sowie php7.3-sqlite3 installiert ist.
auf einem anderen ist ebefalls PHP 7.3, SQLite3 und php7.3-sqlite3, sowie als Webserver Nginx installiert.
Wenn ich auf beiden Webservern eine PHP-Datei, die auf eine Datenbank zugreifen soll, aufrufe, bekomme ich bei dem Webserver mit Nginx die Seite angezeigt, bei dem mit dem Apache gibt es eine leere Webseite, mit nur einer Zeile, der 'übliche' PHP-Fehler.

Im error-Log des Apache bekomme ich zu dem Aufruf

function db_con($DBfile) { if (!$db = new PDO("sqlite:$DBfile")) { $e="font-size:23px; text-align:left; color:firebrick; font-weight:bold;"; echo "<b style='".$e."'>Fehler beim öffnen der Datenbank $DBfile:</b><br/>"; echo "<b style='".$e."'>".$db->errorInfo()."</b><br/>"; die; } $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $db; } // DB Query function db_query($sql) { global $db; $result = $db->query($sql) OR db_error($sql,$db->errorInfo()); return $result; } //============================================================================== $farbe[0] = "#FFFFFF"; // weiss $farbe[1] = "#FDFFD7"; // hellgelb $farbe[2] = "#FF8070"; // orangerot $farbe[3] = "#00FF00"; // grün $farbe[4] = "#FFCCCC"; // leicht-rosa $SQLITEdb = "/var/www/sqliteDB/konfiguration.sqlite"; $db = db_con($SQLITEdb); $query = db_query("SELECT nr FROM config ORDER BY nr desc limit 1"); while($result = $query->fetch(PDO::FETCH_ASSOC)){ $a = $result['nr']; } $index_max = $a - 1; ........

die folgende Ausgabe:

[Thu Nov 05 12:38:12.475946 2020] [:error] [pid 11453] [client 172.16.1.3:56325] PHP Fatal error: Uncaught PDOException: could not find driver in /var/www/html/index.php:4\nStack trace:\n#0 /var/www/html/index.php(4): PDO->__construct('sqlite:/var/www...')\n#1 /var/www/html/index.php(29): db_con('/var/www/sqlite...')\n#2 {main}\n thrown in /var/www/html/telekiste/index.php on line 4 [Thu Nov 05 12:38:17.864506 2020] [:error] [pid 11448] [client 172.16.1.3:56327] PHP Fatal error: Uncaught PDOException: could not find driver in /var/www/html/index.php:4\nStack trace:\n#0 /var/www/html/index.php(4): PDO->__construct('sqlite:/var/www...')\n#1 /var/www/html/index.php(29): db_con('/var/www/sqlite...')\n#2 {main}\n thrown in /var/www/html/telekiste/index.php on line 4

(Der Rechner mit dem Apache ist ein aktuelles Devuan, der mit dem NGinx ist ein Raspberry mit einem aktuellen Raspi-OS)

Das auf dem Apache hat mal funktioniert, weshalb geht es jetzt nicht mehr?
Die Datenbankdatei ist vorhanden.

Bewerten
- +
Ansicht umschalten