Php_mysql.dll einbinden

Hallo zusammen,

beim erstmaligen Verwenden einer SQL-Funktion in einem Script bekomme ich den Fehler: „Call to undefined function…“ und im Script ist die SQL-Funktion nicht farbig hervorgehoben, also ist vermutlich die php_msyql.dll bzw. php_msqli.dll nicht richtig eingebunden.

Mein System: Win10 und IPS 4.2.

Ich habe:

  • Download von php-5.6.1-WIN32-VC11-x86
  • entpackt und in /ips/ext/… kopiert
  • Eintrag in /ips/php.ini angepaßt
  • Dienst angehalten / gestartet, Dienst beendet/gestartet, Win neugestartet

… klappt nicht. Was habe ich vergessen?

mysqli ist dein Freund …

Ich habe beide dlls drin, MySQL und MySQLi, sowohl als dll, als auch im Eintrag in der PHP.ini

Eigentlich wird IPS unter Windows mit php_mysqli.dll ausgeliefert.

IPS 4.2 hat außerdem PHP 5.6.30 und nicht 5.6.1.
Siehe hier:
Migration (V4.1->V4.2) — IP-Symcon :: Automatisierungssoftware

Hast also vermutlich jetzt ‚kaputt‘ gemacht :wink:
Schon mal im Logfile von IPS geschaut, ob die DLLs überhaupt geladen werden ?
Michael

Ich hatte oben einen Schreibfehler im Beitrag; die dlls sind 5.6.31 nicht 5.6.1.
Ich habe jetzt die 5.6.30 geladen, ohne Erfolg.
Im Logfile startet PHP 5.6.30, jedoch wird keine PHP.dll geladen.

Die Win10 Version ist 64Bit , die Dlls sind x86.

In der ips4.2 64Bit win waren die dlls nicht dabei.

Ist mir auch aufgefallen, das wird nicht mehr im Log festgehalten :eek:

Stimmt auch… habe eben mal eine 4.2 geladen.

Du hast aber die x68 geladen bei IPS x64.
Nimm mal die x64 Version von PHP.

http://windows.php.net/downloads/releases/archives/php-5.6.30-Win32-VC11-x64.zip

Am einfachst kannst du (da es im Log ja nicht protokolliert wird) die geladenen Erweiterungen mit phpinfo() die ausgeben lassen.

Michael

Danke, hat geklappt!

Mein Fehler war:

  • Win64 Bit und 32er dlls
  • und falsche Version 5.6.31

Ursache: Anleitung->Komponenten->Dienst->PHP

Erweiterungen installieren
Um eine PHP Erweiterung installieren zu können, muss diese von der PHP Seite heruntergeladen werden. Zu beachten ist, dass die Version mit der in IP-Symcon genutzten PHP Version übereinstimmt. Desweiteren ist die Thread-Safe (TS) und die 32-Bit (x86) Variante des Kompilats zu nutzen.
Aktuell kann PHP inkl. Erweiterungen hier heruntergeladen werden: Download

Die Downloadseite verweist auf die 5.6.31 (stimmt ja fast) und entsprechend dem Text hatte ich die 32er Variante gewählt.

Ok, jetzt bin ich schlauer, nochmal Danke!!!

… und schade, dass in der 4.2 er Version die Befehle nicht mehr wie in der 3.4 er Version farbig abgesetzt sind.