Page 1 of 1

PHP-Settings eines Users über API ändern

Posted: Fri 10. Jul 2026, 23:04
by PapaZivi
Hi,

ich weiß nicht ob ich einfach Blind bin oder etwas nicht verstehe. Ich möchte bei einem User die PHP-Settings über die API ändern. Aber die Einstellungen kommen einfach nicht an. Ich bekomme aber auch keine Fehler. Ist das ein Fehler auf Serverseite, funktioniert Keyhelp da nicht oder funktioniere ich nicht?

Anfrage:

Code: Select all

curl -X 'PUT' \
  'https://www.example.com/api/v2/clients/7' \
  -H 'accept: application/json' \
  -H 'X-API-Key: XXXXX' \
  -H 'Content-Type: application/json' \
  -d '{
"php": {
    "memory_limit": "256M",
    "max_execution_time": 30,
    "post_max_size": "36M",
    "upload_max_filesize": "32M",
    "disable_functions": "apache_child_terminate, apache_note, apache_setenv, curl_multi_exec, define_syslog_variables, dl, exec, link, opcache_get_status, openlog, passthru, pcntl_exec, pcntl_fork, pcntl_setpriority, popen"
  }
}'
Response Code

Code: Select all

200
Response body

Code: Select all

{
  "id": 7
}
Gibt es noch möglichkeiten, wie ich checken kann, woran das liegen könnte?

VG
PapaZivi

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 08:11
by Tobi
Ganz einfach: Das geht nicht.

Darf man fragen woher du den Code hast?

Hier die offizielle Doku:

https://app.swaggerhub.com/apis-docs/keyhelp/api/2.14

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 10:16
by PapaZivi
Tobi wrote: Sat 11. Jul 2026, 08:11 Ganz einfach: Das geht nicht.

Darf man fragen woher du den Code hast?

Hier die offizielle Doku:

https://app.swaggerhub.com/apis-docs/keyhelp/api/2.14
Darfst du. Die Ausgabe stammt genau von diesem Ort. Swaggerhub hat mir das ausgespuckt. Und in der Doku steht nicht, das diese Werte, anders als die Ressourcen, RO wären. Das ich Ressourcen nicht ändern kann über API, habe ich in der Doku gelesen. Warum das so ist ist mir zwar nicht klar, aber das ist ein anderes Thema.
Mir geht es jetzt um die dokumentierte Funktion bei den Clients, bei denen ich laut Doku die Werte setzten sollen können dürfte, es aber nicht geht. Und da ist dann meine Frage, habe ich mich verlesen oder ist die Doku da fehlerhaft?

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 10:52
by Jolinar
PapaZivi wrote: Fri 10. Jul 2026, 23:04 Ist das ein Fehler auf Serverseite, funktioniert Keyhelp da nicht oder funktioniere ich nicht?
Habs nur kurz überflogen (ihr wißt ja, daß ich nicht wirklich Ahnung vom Coding hab :lol: ), aber fehlt da evtl. der Parameter open_basedir bei dem Request...? :?

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 11:48
by Tobi
Ah, O.K.
Hab‘s gefunden.

Probier mal statt dessen den Endpunkt

Code: Select all


PUT
/clients/name/{name}
Updating client.


Ich habe das noch nie gebraucht.
Kann dir also nicht wirklich sagen ob es funktioniert.

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 12:18
by PapaZivi
Jolinar wrote: Sat 11. Jul 2026, 10:52
PapaZivi wrote: Fri 10. Jul 2026, 23:04 Ist das ein Fehler auf Serverseite, funktioniert Keyhelp da nicht oder funktioniere ich nicht?
Habs nur kurz überflogen (ihr wißt ja, daß ich nicht wirklich Ahnung vom Coding hab :lol: ), aber fehlt da evtl. der Parameter open_basedir bei dem Request...? :?
Da ich open_basedir nicht ändern will, hab ich es einfach weggelassen. Das Programm hinter der API sollte anhand der Keys (php->memory_limit usw.) erkennen welche Werte zu ändern wären. Von daher sehe ich das nicht als Fehlerquelle. Ich habe es trotzdem mal ausprobiert. Will mir ja nicht nachsagen lassen, ich hätte es nicht wenigstens versucht!
Input:

Code: Select all

{
"php": {
    "memory_limit": "128M",
    "max_execution_time": 60,
    "post_max_size": "72M",
    "upload_max_filesize": "64M",
    "open_basedir": "##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp",
    "disable_functions": "apache_child_terminate, apache_note, apache_setenv, curl_multi_exec",
    "env_variables": "",
    "extra_directives_immutable": "",
    "extra_directives_mutable": "",
    "additional_settings": ""
  }
}
Output danach:

Code: Select all

"php": {
    "memory_limit": "128M",
    "max_execution_time": 60,
    "post_max_size": "72M",
    "upload_max_filesize": "64M",
    "open_basedir": "##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp",
    "disable_functions": "apache_child_terminate, apache_note, apache_setenv, curl_multi_exec, define_syslog_variables, dl, exec, link, opcache_get_status, openlog, passthru, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, stream_socket_sendto, symlink, syslog, system",
    "env_variables": "",
    "extra_directives_immutable": "",
    "extra_directives_mutable": "",
    "additional_settings": ""
  },
ist ihm egal. Und wenn es doch von nöten wäre, dann müsste mir die API einen Fehler melden (Fehlerhafte Anfrage oder sowas) aber ich bekomme nur eine Positive Bestätigung (status 200) und die erwartete Rückmeldung (siehe unten).
Tobi wrote: Sat 11. Jul 2026, 11:48 Ah, O.K.
Hab‘s gefunden.

Probier mal statt dessen den Endpunkt

Code: Select all


PUT
/clients/name/{name}
Updating client.


Ich habe das noch nie gebraucht.
Kann dir also nicht wirklich sagen ob es funktioniert.
Hab ich jetzt auch noch ausprobiert, danke für den fingerzeig, leider mit dem selben Ergebnis. Status: 200 und Rückgabe ist wie erwartet:

Code: Select all

{"id": 7}
.

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 12:46
by PapaZivi
Es geht btw. auch nicht die Settings von php_fpm zu ändern, obwohl es laut Doku gehen sollte:
gekürzter Ausschnitt Client-Schema
gekürzter Ausschnitt Client-Schema
grafik.png (18.36 KiB) Viewed 278 times

Re: PHP-Settings eines Users über API ändern

Posted: Sat 11. Jul 2026, 15:38
by Tobi
Auf jeden Fall funktioniert es einen anderen Tarif zuzuweisen.
Aber auch hier kann ich dir nicht wirklich sagen ob dann die PHP Einstellungen des neuen Tarifes gesetzt werden.

Einfach mal ausprobieren.

Re: PHP-Settings eines Users über API ändern  [GELÖST]

Posted: Mon 13. Jul 2026, 09:17
by Alexander
Um die Account-Features (Limits der Resources, Permissions, PHP und PHP-FPM Einstellungen) zu ändern, muss man einen Hosting-Plan (Endpunkt /hosting-plans) verwenden. Entweder man erstellt extra für diesen Zweck einen und löscht ihn nach Anlegen / Updaten des Users wieder, oder man nimmt einen bestehenden.
Die ID gibt man dem [PUT/POST] /clients Endpunkt mit über "id_hosting_plan".

Ich gebs zu, es ist etwas versteckt nur bei POST /clients dokumentiert, ich werde es nochmal offensichtlicher hinterlegen.


Fix: Das PHP und PHP-FPM als nicht read-only angezeigt wurden und in der liste der verfügbaren Parameter auftauchten hab ich korrigiert, das sollte nicht sein.

Re: PHP-Settings eines Users über API ändern

Posted: Mon 13. Jul 2026, 15:33
by PapaZivi
Alexander wrote: Mon 13. Jul 2026, 09:17 Um die Account-Features (Limits der Resources, Permissions, PHP und PHP-FPM Einstellungen) zu ändern, muss man einen Hosting-Plan (Endpunkt /hosting-plans) verwenden. Entweder man erstellt extra für diesen Zweck einen und löscht ihn nach Anlegen / Updaten des Users wieder, oder man nimmt einen bestehenden.
Die ID gibt man dem [PUT/POST] /clients Endpunkt mit über "id_hosting_plan".
Pffff... Okay. Machbar. Nicht schön, aber machbar.
Darf man erfahren warum der Prozess so stattfindet?
Alexander wrote: Mon 13. Jul 2026, 09:17 Fix: Das PHP und PHP-FPM als nicht read-only angezeigt wurden und in der liste der verfügbaren Parameter auftauchten hab ich korrigiert, das sollte nicht sein.
Danke :)