Einbindung von MySQL in IPS

Hallo,

brauche Eure Hilfe!

Ich möchte Daten aus IPS in eine MySQL-DB schreiben.

Ich habe bereits:

  1. den MySQL Community Server 5.1.46 installiert
  2. die libmysql.dll nach C:\ip-symcon bzw. auch C:\ip-symcon\ext kopiert
  3. eine php_mysql.dll in C:\ip-symcon\ext abgelegt
  4. in der C:\ip-symcon\php.ini den Eintrag „extension = php_mysql.dll“ hinzugefügt (extension_dir ist C:\ip-symcon\ext)

(Warum wird dieser Eintrag nach Stoppen und Starten des IPS-Dienstes wieder herausgelöscht?:confused:) -> also php.ini schreibgeschützt

Alles nützt nichts:mad:. Beim ersten PHP-Befehl für mysql wird gemeckert:

Fatal error: Call to undefined function mysql_connect() in [Heizung\Temp. auslesen] on line 11

Sieht so aus, als wenn er das mysql_connect() nicht kennt.
Ich benutze IPS2.2 und die lt. phpinfo() die Version 5.3.1.

Hat jemand eine Idee? Oder die passenden dll’s. Nutze ich die falschen? Sind diese in falschen Ordnern?

Danke für hilfreiche Infos.
Andreas.

Das Neuschreiben der php.ini ist ein Feature von IPS. Es werden alle Extensions im /ext-ordner automatisch eingetragen. Wenn das OK war, gibt es einen Eintrag im Logfile.
Die libmysql muss ins IPS-Hauptverzeichnis.
Ansonsten ist evtl die Version der php_mysql.dll verkehrt. Ob die Extensions wirklich da ist, kann man z.B. mit extension_loaded() oder function_exists() checken(siehe PHP-Doku).

tommi

nutzt du ips 2.2? hast du auch darauf geachtet, das die dlls für php 5.3 sind?

den eintrag in der php.ini brauchst du nicht mehr, denn macht ips selber - vorrausgesetzt es kann die dll laden. wenn der eintrag rausgeworfen wird, dann scheint mir das so das die dll nicht geladen werden kann, prüfe ob die dateien ob sind und für die 5.3 sind.

ipshomecontrol nutzt auch ips 2.2 und mysql (5.0.x, bzw. ich und einige andere auch 5.1.x). klappt ohne probleme :).

Danke, soweit.

Aber was mache ich nun? Habt ihr die dll’s für mich?
Denke, ich habe die richtigen bereits integriert.

Ich habe 4 Dateien (dll) im C:\ip-smycon\ext-Ordner. Jedoch nur 3 extension-Einträge in der php.ini.

Wenn also die php_mysql.dll nicht eingetragen wird, ist diese nicht die richtige?

Woher bekomme ich die korrekte?

Andreas.

Hallo,

habe eben mein Problem gelöst.

Die php_mysql.dll und libmysql.dll habe ich dem XAMPP-Paket 1.7.3 entnommen. Die eine nach C:\ip-symcon\ext, die andere nach c:\ip-symcon kopiert. Dann den IPS-Dienst neugestartet.

Ein Beispielscript mit phpinfo() gibt eine mysql-Bindung aus. Dann nochmal ein Datenbankschrieben und -lesen - mit Erfolg.

Ich hoffe, es ist nicht verfrühte Euphorie.

Danke für Teil-Tips.

Andreas.

hallo,

habe auch das Problem, dass ich über php nicht auf die MySQL-DB zugreifen kann. Ich habe ebenfalls beide Dateien eingebunden und laut php-Info und Log sind diese auch geladen:

22.09.2010 11:04:21.921 | 0 | MESSAGE | ScriptEngine | >Erweiterung: libmysql.dll
22.09.2010 11:04:21.930 | 0 | MESSAGE | ScriptEngine | >Erweiterung: php_mysql.dll

Mir fällt aber diese Meldung auf:

22.09.2010 11:04:21.928 | 0 | MESSAGE | ScriptEngine | >Erweiterung php_http.dll nicht geladen. Version stimmt nicht überein: PHP: 5.3.1, EXT: 5.1.6
22.09.2010 11:04:21.929 | 0 | MESSAGE | ScriptEngine | >Erweiterung php_json.dll nicht geladen. Version stimmt nicht überein: PHP: 5.3.1, EXT: 5.1.6

kann es damit zusammen hängen?

Über ein externes Tool bzw. Konsole kann ich wunderbar auf die DB zugreifen, halt nur nicht über php.

Eine einfache Verbindung schlägt hier fehl:

Warning: mysql_connect() [function.mysql-connect]: [2002] Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle na (trying to connect via tcp://localhost:3306) in C:\IP-Symcon\webfront est.php on line 6

Warning: mysql_connect() [function.mysql-connect]: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. in C:\IP-Symcon\webfront est.php on line 6

Fatal error: Maximum execution time of 30 seconds exceeded in C:\IP-Symcon\webfront est.php on line 6

woran kann das liegen?

Für IPS 2.3 müssen auch die PHP-Extension in Version 5.3.1 verwendet werden. Die Extensions mit 5.1.6 stammen bestimmt noch aus den Zeiten der alten IPS-Version.

Tommi

Hallo,

ich nutze mit mysql den Webcalender von k5n.us: Home. Jetzt möchte ich aus ips auf den mysql Server zugreifen, um mir Erinnerungen für den Kalender anzeigen zu lassen. Mir fehlen jetzt aber die benötigten php_mysql.dll und die libmysql.dll für die Version 5.3.1, die soweit ich das gelesen habe ja jetzt in der ips 2.3 enthalten ist. Weiss jemand, wo man diese Dateien in der Version herbekommt? Ich verspüre nämlich wenig Lust, mir von museum.php.net die Sourcen herunterzuladen und dann selbst zu kompilieren.

Danke für Tips vorab!
gremlin36

Hat sich erledigt. Habe die xampp Version 1.7.3 doch noch gefunden.

Du hättest auch einfach den Link in der Doku (PHP: IP-Symcon :: Automatisierungssoftware) anklicken können ;).

Hallo Foren Gemeinde,

ich stehe vor dem selben Problem. IPS Version 2.30 an eine mySQL Datenbank anzubinden.

Der Link auf dieser Seite zum PHP Download bringt mir leider nur den Fehler „Sorry for the inconvenience, we are working on it“. Daher habe ich versucht die notwendigen DLLs von XAMPP zu benutzen.

Ich habe folgende Datein aus dem XAMPP Paket kopiert.

  • libmysql.dll (Version 5.5.8.0) nach c:\IP-Symcon
  • php_mysql.dll (Version 5.3.5.0) nach c:\IP-Symcon\ext

Nach einem IPS Dienst neustart wurde aber leider kein mySQL Eintrag in der php.ini hinzugefügt.
Die anderen DLLs im „ext“ Verzeichnis haben alle die Version 5.3.1.0.

Könnte das das Problem sein?
Bzw. hat jemand die Version 5.3.1.0 der php_mysql.dll und würde sie mir geben.

Runterladen kann ich sie nicht, solange die Seite bei php.net offline ist.

Danke & Gruß
Thorsten

bitte schön.

php_mysql.rar (12.3 KB)

Hi Rainer,

vielen Dank - funktioniert jetzt tadellos :D.

Gruß aus der Nachbarschaft!
Thorsten