PHP-Settings eines Users über API ändern

Allgemeine Diskussionen rund um KeyHelp.
Post Reply
User avatar
PapaZivi
Posts: 17
Joined: Tue 26. Oct 2021, 15:37
Location: München
Contact:

PHP-Settings eines Users über API ändern

Post 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
VG
PapaZivi
User avatar
Tobi
Community Moderator
Posts: 3710
Joined: Thu 5. Jan 2017, 13:24

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

Post 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
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
PapaZivi
Posts: 17
Joined: Tue 26. Oct 2021, 15:37
Location: München
Contact:

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

Post 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?
VG
PapaZivi
User avatar
Jolinar
Community Moderator
Posts: 4351
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

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

Post 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...? :?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
Tobi
Community Moderator
Posts: 3710
Joined: Thu 5. Jan 2017, 13:24

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

Post 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.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
PapaZivi
Posts: 17
Joined: Tue 26. Oct 2021, 15:37
Location: München
Contact:

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

Post 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}
.
VG
PapaZivi
User avatar
PapaZivi
Posts: 17
Joined: Tue 26. Oct 2021, 15:37
Location: München
Contact:

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

Post 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 264 times
VG
PapaZivi
User avatar
Tobi
Community Moderator
Posts: 3710
Joined: Thu 5. Jan 2017, 13:24

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

Post 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.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
Alexander
Keyweb AG
Posts: 4901
Joined: Wed 20. Jan 2016, 02:23

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

Post 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.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
PapaZivi
Posts: 17
Joined: Tue 26. Oct 2021, 15:37
Location: München
Contact:

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

Post 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 :)
VG
PapaZivi
Post Reply