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).
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 :).
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.
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.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
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.
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.
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.