Adodb connectie in PHP 7.0.1
Gee Bee
16/04/2016 17:19:10Hallo,
Heb een project waarin ik MS Access gebruik als backend. In PHP maak ik de verbinding met de volgende code regels.
$db_conn = new \COM("ADODB.Connection") or die("Cannot start ADO"); ( overigens, óók "new COM(..." zonder de '\' voor de 'COM' geeft dezelfde foutmelding )
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("../db/whatever.mdb").";";
$db_conn->open($connstr);
Na het installeren van een nieuwe XAMPP versie ( met PHP 7.0.1 ) krijg ik nu de volgende foutmelding: Fatal error: Uncaught Error: Class 'COM' not found in .... ( de rest van de melding geeft de bestandsnaam en het regelnummer waar de fout optreedt, zoals "je" kan raden de bovenste regel in het bovenstaande voorbeeld )
In de "oude" XAMPP ( met PHP 5.4.7 ) werkte alles prima. Als ik die twee versies vergelijk, valt me meteen op dat in de 7.0.1 versie de volledige "pear" map ( onder de map "php" ) is verdwenen én dat de "pear" map in de 5.4.1 versie een submap genaamd "adodb" bevat.
Zit 'em nou ook hierin de "fout" en is dit op te lossen door de map uit de 5.4.1 versie simpelweg in de 7.0.1 versie te kopiëren?
Heb een project waarin ik MS Access gebruik als backend. In PHP maak ik de verbinding met de volgende code regels.
$db_conn = new \COM("ADODB.Connection") or die("Cannot start ADO"); ( overigens, óók "new COM(..." zonder de '\' voor de 'COM' geeft dezelfde foutmelding )
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("../db/whatever.mdb").";";
$db_conn->open($connstr);
Na het installeren van een nieuwe XAMPP versie ( met PHP 7.0.1 ) krijg ik nu de volgende foutmelding: Fatal error: Uncaught Error: Class 'COM' not found in .... ( de rest van de melding geeft de bestandsnaam en het regelnummer waar de fout optreedt, zoals "je" kan raden de bovenste regel in het bovenstaande voorbeeld )
In de "oude" XAMPP ( met PHP 5.4.7 ) werkte alles prima. Als ik die twee versies vergelijk, valt me meteen op dat in de 7.0.1 versie de volledige "pear" map ( onder de map "php" ) is verdwenen én dat de "pear" map in de 5.4.1 versie een submap genaamd "adodb" bevat.
Zit 'em nou ook hierin de "fout" en is dit op te lossen door de map uit de 5.4.1 versie simpelweg in de 7.0.1 versie te kopiëren?
PHP hulp
28/11/2024 20:13:55Ben van Velzen
17/04/2016 00:58:41De pear map is in jouw geval niet relevant, omdat je geen gebruik maakt van de pear ADODB. Wat relevant is, is het ontbreken van de COM class, welke volgens php.net wel onderdeel is van PHP 7. Heb je de benodigde extensies ingeschakeld (php_com_dotnet.dll in php.ini)? Zoja, geeft je error log startup warnings/errors?
Zie ook http://php.net/manual/en/com.setup.php
Zie ook http://php.net/manual/en/com.setup.php
Gewijzigd op 17/04/2016 00:59:40 door Ben van Velzen
Gee Bee
17/04/2016 15:11:05Heb de regel "extension=php_com_dotnet.dll" in php.ini toegevoegd ( stond er nog helemaal niet, zelfs niet 'disabled' ) en daarmee werkt het!
Thnks!
Thnks!