Class 'mysqli' not found

Status
Für weitere Antworten geschlossen.

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.182
Punkte für Reaktionen
52
Punkte
68
Hallo zusammen,

habe eine DS215j mit DSM 6.1-15047 Update 1 und befasse mich erstmals mit der Web Station.
Würde gerne testweise meine Webseite darauf laufen lassen, welche aktuell über Strato läuft.

Habe alle Files vom Strato Webspace übernommen und auf die NAS gepackt.
Wenn ich jetzt die Webseite aufrufe erhalte ich folgende Fehlermeldung:

Fatal error: Uncaught Error: Class 'mysqli' not found in /volume1/web/inc/config.php:30 Stack trace: #0 /volume1/web/index.php(12): include() #1 {main} thrown in /volume1/web/inc/config.php on line 30

Habe die WebStation mit PHP 7.0 laufen und testweise alle Erweiterungen aktiviert.
Jemand ne Idee?
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
Evtl. würde es mit PHP5.5 besser gehen?
Blöde Frage: Hast du auch die gesamten Datenbanken mit importiert?
 

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.182
Punkte für Reaktionen
52
Punkte
68
nein, die Datenbank erst Mal nicht - ist auch kein Problem - dann würde ein anderer Fehler erscheinen.
Hier ist ganz klar die Rede davon, dass er die Klasse mysqli nicht findet.

Meine Webseite läuft bei Strato problemlos unter PHP 7.0
 

heavygale

Benutzer
Mitglied seit
02. Jun 2012
Beiträge
315
Punkte für Reaktionen
2
Punkte
24

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.182
Punkte für Reaktionen
52
Punkte
68
habe den Fehler gefunden - hatte die extension mysqli nur für php 5.6 aktiviert - nicht für 7.0
sry :/
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
Ah ja, das ist auch nachvollziehbar .. Wo hast du das eig. aktiviert?
 

Stefan!

Benutzer
Mitglied seit
21. Dez 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
wo/wie wird das aktiviert?
Danke für einen Hinweis!

DSM 6.1.3-15152 Update 4
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Unbenannt.jpg

Oben kannst Du zwischen den PHP-Versionen wählen, und unten dann dafür die nötigen Erweiterungen.
 

Stefan!

Benutzer
Mitglied seit
21. Dez 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Danke für die Rückmeldung!

sql.jpg

der Haken bei mysqli hat gefehlt!
Danke!
 

Stefan!

Benutzer
Mitglied seit
21. Dez 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo,

PHP-SCRIPT ausgeführt über Browser fuktioniert problemlos.
Gleiches script über den Aufgabenplaner ausgeführt fürhrt zu folgendem Fehler:
Fatal error: Uncaught Error: Class 'mysqli' not found in /volume1/web/ku/index.php:22

Aufruf über Aufgabenplaner:
/usr/local/bin/php70 /volume1/web/ku/index.php
/usr/local/bin/php64 /volume1/web/ku/index.php

s4.jpg

mysqli ist aktiviert

woran könnte das liegen?

Über einen Hinweis in welcher Richtung ich die Lösung für das Problem suchen muß, würde ich mich freuen.
 

killphil

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
7
Hallo Stefan,

da ich gestern das selbe Problem hatte und eine Weile gebraucht habe, um durch die Thematik zu steigen. Hier der Lösungsansatz.

Sobald du Php über die Webstation benutzt, werden bestimmte .ini Files verarbeitet (Das was du unter der DSM-Webstation GUI / php-Einstellungen / Zusatzmodule anklickst/festlegst).
Wenn du jetzt Php only über den Terminal nutzt (z.B. CronJob), dann lädt PHP nur seine Standard Inifiles und bestimmte Module (mysqli) sind nicht aktiv.

Hier im Forum habe ich den Thread "Cron mit Php7" gefunden, da wird die genau Vorgehensweise ganz gut erklärt, wie man den PHP Aufruf so gestaltet, das auch die Ini-Files der Webstation mit verarbeitet werden. Danach sollte das Verhalten Php via Browser / Php via Cli identisch sein.

Link:

http://www.synology-forum.de/showth...Cron-mit-PHP-7&p=710343&viewfull=1#post710343
 

Stefan!

Benutzer
Mitglied seit
21. Dez 2013
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo,
Danke für die Rückmeldung!

Bei mir funktioniert der Aufruf über den Aufgabenplaner inzwischen problemlos durch:

wget -q http://192.168.xyz.xy/verzeichnis/script.php

wobei
"verzeichnis" das Unterverzeichnis von DISKSTATION/WEB ist; dort wo das script script.php steht

kein umständlicher cron-job notwendig!
 

Wiesel789

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich möchte mich zunächst einmal vorstellen, weil ich hier neu bin. Ich heiße Andreas und habe vor einigen Wochen angefangen PHP zu lernen.
Ich habe insbesondere das Ziel mit PHP auf einer Webseite Datenbankwerte darzustellen. Alles funktionierte super bis ich Joomla auf meiner DS installierte hatte. Von da ab kam die Fehlermeldung "Fatal error: Class 'MySQLi' not found". Ich habe schon alles versucht und auch sämtliche Beiträge in diesem Forum und auch auf internationalen Seiten gelesen. Ich habe die PHP.INI an verschieden Stellen ergänzt und sogar DSM neu installiert. Selbst das half nicht. Ich bekomme einfach nicht mehr den Zugriff auf meine Datenbank. Die Darstellungen hier über das Installieren des Extensions MySQLi stimmt nicht mit meinem DSM überein. Wahrscheinlich ist meine Version neuer. Über die Abfrage "phpInfo()" werden keine Infos über MySQLi angezeigt. Es wäre sehr nett, wenn mir jemand auf die Sprünge helfen könnte. Meistens reicht schon ein Hinweis über eine Quelle für weiter Infos.

Viele Grüße

Andreas
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
schau mal in Web Station - PHP-Einstellungen - Deine php Version markieren - bearbeiten und dort die benötigten Module anhaken.

Gruß Götz

PS: Herzlich willkommen im Forum.
 
  • Like
Reaktionen: Andys84

Wiesel789

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Danke für die schnelle Antwort.
In der neusten Version kann man nichts mehr markieren. Man kann dort nur Paramter in Form von „0“ , „1“, „-1“, „True“ oder ähnlich eingeben. Man kann nirgends sehen, welche Paramter angegeben werden müssen.
 
Zuletzt bearbeitet von einem Moderator:

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
@goetz meint das hier.

Unbenannt.PNG
 

Wiesel789

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
bei mir sieht es so aus:

PHP.jpg


Deswegen bin ich ja auch irritiert; weil es bei euch anders aussieht(DS418j, DSM 6.1.5-15254)

Ich klicke dann auf "Kern" und kann dann die Einstellungen eingeben:

PHP1.jpg
 
Zuletzt bearbeitet:

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
bekommst Du die Einstellungen wenn Du ein neues Profil anlegst?

Gruß Götz
 

Wiesel789

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Götz,

ich hab es noch einmal getestet. Es sieht auch so aus, wenn ein Profil angelegt wird.

Gruß Andreas
 
Zuletzt bearbeitet von einem Moderator:

Wiesel789

Benutzer
Mitglied seit
21. Feb 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Ich habe jetzt nochmals alles komplett deinstalliert (php, MariaDB, phpMyAdmin) und anschließend wieder neu installiert.
Es ist zum verzweifeln; der Fehler bleibt. Auf der phpMyAdmin-Oberfläche wird sogar angezeigt, dass mysqli installiert ist.
Hat jemand eine Vorstellung, ob es auch an einer anderen Stelle Fehlerquellen gibt?

Grüße Andreas
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat