Error message when inserting a new DNS TXT records through remote API

TomS

New Member
Hi there,

when trying to insert a new TXT record to a DNS zone using https://xxxx.xxxx.de:8080/remote/json.php?dns_txt_add , I get the following error message as part of the returned JSON:
Incorrect integer value: '' for column dbispconfig.dns_rr.sys_userid at row 1 INSERT INTO dns_rr (server_id, zone, name, type, data, ttl, active, stamp, serial, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other) VALUES ('1', '15', 'some.zone.de.', 'txt', '12345', '3600', 'y', '2020-01-22 16:14:14', '1579706054', '', '', 'riud', 'riud', '')

Querying the zone is working fine!
Also, I do not see any other error message (e. g. in some ISPConfig log file) or I'm looking at the wrong place.

Some time ago, the system had been updated (server OS including PHP and database) to a more recent version of Ubuntu.
It might have to do with that upgrade, but I cannot figure out where to start searching.

Any ideas?

During parsing the log files, I saw another strange phenomenon. This line is logged every some seconds:
mod_fcgid: stderr: PHP Deprecated: Function get_magic_quotes_runtime() is deprecated in /usr/local/ispconfig/interface/lib/config.inc.php on line 48, referer: https://xxxx.xxxx.de:8080/
Any idea where this might come from?
Any idea on how to get rid of the message?
Going back to an earlier version of Ubuntu is not an option, unfortunately...

Btw, how can I change the PHP version ISPConfig is using?

Best regards,
Tom
 

TomS

New Member
Hallo zusammen,

bitte entschuldigt, da hab ich irgendwie nicht aufgepasst...
Hier nochmal auf deutsch:

Beim Eintragen eines TXT-Records in eine DNS-Zone über das Remote API von ISPConfig (https://xxxx.xxxx.de:8080/remote/json.php?dns_txt_add) wird mir eine Fehlermeldung mit dem JSON-Objekt zurückgeliefert: Incorrect integer value: '' for column dbispconfig.dns_rr.sys_userid at row 1 INSERT INTO dns_rr (server_id, zone, name, type, data, ttl, active, stamp, serial, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other) VALUES ('1', '15', 'some.zone.de.', 'txt', '12345', '3600', 'y', '2020-01-22 16:14:14', '1579706054', '', '', 'riud', 'riud', '')

Das Abfragen der Zone funktioniert aber einwandfrei.
Ich bekomme auch keine anderen Fehlermeldungen mehr angezeigt (z. B. im ISPConfig-Logfile, obwohl das ziemlich klein ist... Vielleicht such ich da ja auch an der falschen Stelle?)

Vor einiger Zeit wurde das System aktualisiert (also neue Ubuntu-Version mit neuer PHP-Version und neuer Datenbankserver-Version).
Ich befürchte, dass dieses Verhalten mit dem Update zu tun haben könnte, weiß aber weder, wie ich das rausfinden noch wie ich den Fehler beheben soll...

Hat von Euch da jemand eine Idee?

Während ich mir die Logdateien angeschaut habe, hab ich übrigens noch was Komisches gefunden. Im Error-Log des Webservers für die ISPConfig-Seite wurde alle paar Sekunden folgender Fehler protokolliert:
mod_fcgid: stderr: PHP Deprecated: Function get_magic_quotes_runtime() is deprecated in /usr/local/ispconfig/interface/lib/config.inc.php on line 48, referer: https://xxxx.xxxx.de:8080/

Kann mir hier jemand sagen, woher der Fehler kommen könnte bzw. wie ich ihn beheben kann?
Ein Downgrade der Ubuntu-Version kommt leider nicht in Frage, sonst hätt ich das schon versucht...

Wie kann ich überhaupt die PHP-Version, die von der ISPConfig-Seite verwendet wird, ändern?
Mal angenommen, ich habe mehrere Versionen installiert, da müsste es doch möglich sein, mal eine andere PHP-Version auszuprobieren, oder? Oder FPM(?) statt FCGI? oder sowas halt?

Viele Grüße
Tom
 

TomS

New Member
1. Als client_id habe ich das genommen, was von dns_zone_get im Feld "sys_userid" übermittelt wurde, und das war 5.
Der Code hat ja auch schon mal so funktioniert. Die client_id sollte also eigentlich schon so stimmen.

zu 2. Das ist aber nur eine Anleitung, wie man zusätzliche PHP-Versionen in ISPConfig einbindet. Das habe ich auch gemacht - ich glaub, ich hab sogar diese Anleitung verwendet. Aber mich würde interessieren, wie man die ISPConfig-Verwaltungs-Website und beispielsweise auch die Dateien des remoting-API dazu bringt, eine dieser PHP-Versionen zu verwenden.

Viele Grüße
Tom
 

Till

Administrator
1. Als client_id habe ich das genommen, was von dns_zone_get im Feld "sys_userid" übermittelt wurde, und das war 5.
Der Code hat ja auch schon mal so funktioniert. Die client_id sollte also eigentlich schon so stimmen.

Die sys_userid ist nicht die client_id. Es gibt aber eine api funktion um eine client_id abzufragen wenn man eine sys_userid oder sys_groupid hat.

zu 2. Das ist aber nur eine Anleitung, wie man zusätzliche PHP-Versionen in ISPConfig einbindet. Das habe ich auch gemacht - ich glaub, ich hab sogar diese Anleitung verwendet. Aber mich würde interessieren, wie man die ISPConfig-Verwaltungs-Website und beispielsweise auch die Dateien des remoting-API dazu bringt, eine dieser PHP-Versionen zu verwenden.

Garnicht da ISPConfig immer die Standardversiond es jeweiligen betriebssystems verwendet und man diese Version auch nicht ändern sollte. Neue Major Versionen gibt es also beim nächsten Dist upgrade.
 

TomS

New Member
Ja genau, das wars!
Es gibt ein Script von letsencrypt, das zur Verifizierung der Domain einen TXT-Eintrag in der DNS-Zone der Domain erstellt. Und die nehmen einfach die sys_userid als client_id her.
Bis jetzt hat das immer funktioniert bei mir, aber jetzt plötzlich geht das nicht mehr...

Lieber Till, danke für Deine Hilfe!!!
Ich glaub, ich sag das mal den Jungs von Letsencrpyt...
Vielleicht nehmen die ja sogar meine Anpassungen her ;-)
 

Werbung

Top