Page 1 of 1

Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 10:49
by space2place
Moin zusammen,
ich habe gerade ein Problem mit einem Kunden der wohl einen OXID Shop bekommt.
Jetzt kommt die Frage nach "ini_set" und ich habe hier im Forum gelesen , daß es nicht aktiviert ist um die Einstellungen des Administrators nicht auszuhebeln.

So habe ich das auch an den Kunden kommuniziert. Die Werte müssen über das Panel eingetragen werden.
Nun meldet sich der OXID Support und verweisst auf seine Requirements:
https://docs.oxid-esales.com/eshop/en/6 ... s.html#php

Dort steht das "ini_set" aktiviert sein muss.
Es ist ein Kundenserver und letztendlich entscheidet er was er aktiv haben will. Kann ich das irgendwie aktivieren?
Gruß
Sascha

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 11:16
by OlliTheDarkness
space2place wrote: Thu 17. Jun 2021, 10:49 Moin zusammen,
ich habe gerade ein Problem mit einem Kunden der wohl einen OXID Shop bekommt.
Jetzt kommt die Frage nach "ini_set" und ich habe hier im Forum gelesen , daß es nicht aktiviert ist um die Einstellungen des Administrators nicht auszuhebeln.

So habe ich das auch an den Kunden kommuniziert. Die Werte müssen über das Panel eingetragen werden.
Nun meldet sich der OXID Support und verweisst auf seine Requirements:
https://docs.oxid-esales.com/eshop/en/6 ... s.html#php

Dort steht das "ini_set" aktiviert sein muss.
Es ist ein Kundenserver und letztendlich entscheidet er was er aktiv haben will. Kann ich das irgendwie aktivieren?
Gruß
Sascha
Ungetestet aber eigentlich sollte das setzen von
AllowOverride All in den Zusätzlichen Apache Einstellungen ausreichen.
Aber letztlich kann das nur Alex beantworten.

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 11:20
by Tobi
Die Frage ist doch wofür OXID das braucht und welche Limits überschrieben werden sollen?

Kann man doch gleich passend einstellen und gut ist.
"ini_set" sollte zumindest keinen Fehler werfen.

Hast du die Installation schon ausprobiert ob es überhaupt notwendig ist?

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 11:24
by space2place
Ich habe mir gerade mal die Installation rausgesucht. ini_set ist verpflichtend bei dem Shop. :?
Ansonsten geht die Installation nicht weiter

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 11:31
by space2place
OlliTheDarkness wrote: Thu 17. Jun 2021, 11:16 Ungetestet aber eigentlich sollte das setzen von
AllowOverride All in den Zusätzlichen Apache Einstellungen ausreichen.
Aber letztlich kann das nur Alex beantworten.
Das ist schon so aktiv

Code: Select all

<Directory "/home/users/username/www/oxid6.meine-domain.tld/source/">
    AllowOverride All
    Options -Indexes +ExecCGI
    CGIPassAuth On
 </Directory>

EDIT:
Ich habe jetzt bei dem Kunden die Abfrage der Systemrequirements editiert. In der Datei

Code: Select all

vendor/oxid-esales/oxideshop-ce/source/Core/SystemRequirements.php
Zeile 223 findet man diese Abfrage. Die habe ich disabled. Und nun geht das Setup weiter.
Trotzdem würde ich gerne wissen wie man das "ini_set" aktivieren kann.

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 12:10
by Alexander
In der Standardeinstellung der disable_functions Einstellung im KeyHelp ist ini_set nicht aufgeführt - sollte also problemlos nutzbar sein, sofern hier nichts geändert wurde.

Das ist auch soweit unproblematisch, weil der User damit nicht die wichtigen Einstellungen des Admins außer Kraft setzen kann.
Werte wie memory_limit, max_execution_time, disable_functions etc, die über die KeyHelp-UI unter "Benutzerverwaltung -> Benutzer bearbeiten -> PHP-Einstellungen" werden als "php_admin_value" in der entsprechenden Config gespeichert und sind damit für die Anwendung des Users nicht überschreibbar.

Sollte es also in den disable_functions aufgeführt sein, kannst du es dort gern rausnehmen.

(Es gibt in KeyHelp 21.0 eine Einschränkung, was die nachträgliche Anpassung der session.save_path angeht. Die ist mit 21.0 noch als php_admin_value gespeichert, somit nicht überschreibbar. Mit 21.1 ist sie dann auch durch die Anwendung des users via ini_set anpassbar.)

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 12:29
by space2place
Alexander wrote: Thu 17. Jun 2021, 12:10 In der Standardeinstellung der disable_functions Einstellung im KeyHelp ist ini_set aktiviert - sollte also problemlos nutzbar sein.

Das ist auch soweit unproblematisch, weil der User damit nicht die wichtigen Einstellungen des Admins außer Kraft setzen kann.
Werte wie memory_limit, max_execution_time, disable_functions etc, die über die KeyHelp-UI unter "Benutzerverwaltung -> Benutzer bearbeiten -> PHP-Einstellungen" werden als "php_admin_value" in der entsprechenden Config gespeichert und sind damit für die Anwendung des Users nicht überschreibbar.

Sollte es also in den disable_functions aufgeführt sein, kannst du es dort gern rausnehmen.

(Es gibt in KeyHelp 21.0 eine Einschränkung, was die nachträgliche Anpassung der session.save_path angeht. Die ist mit 21.0 noch als php_admin_value gespeichert, somit nicht überschreibbar. Mit 21.1 ist sie dann auch durch die Anwendung des users via ini_set anpassbar.)
Hi Alex... Danke für die Rückmeldung.
Bei dem User war "ini_set" nicht aufgeführt und trotzdem zeigt die Software OXID es beim Setup an. Dort hatte ich natürlich direkt nachgesehen.
Oder habe ich Dich hier falsch verstanden

Code: Select all

In der Standardeinstellung der disable_functions Einstellung im KeyHelp ist ini_set aktiviert
Gruß
Sascha

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 12:32
by Alexander
Ich hab meinen Satz oben nochmal treffender formuliert.

Wurde am System vorbei konfiguriert?

Wie sieht die entsprechen pool Datei "/etc/php/<VERSION>/fpm/keyhelp_pool/<BENUTZERNAME>.conf" aus

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 12:40
by space2place
Ich habe vergessen anzugeben das PHP 7.4 aktiviert ist..
Hier die Pool-Datei

Code: Select all

[user-name_php74]

; Unix user/group of processes
user = user-name
group = user-name

; Define how to accept requests
listen = /run/php/keyhelp_user-name_php74.socket
listen.owner = user-name
listen.group = user-name
listen.mode = 0666

; Define how the process manager will control child processes
pm = ondemand
pm.max_children = 3
pm.max_requests = 0
pm.process_idle_timeout = 10s

; Environment variables
env[TMP] = /home/users/user-name/tmp/
env[TMPDIR] = /home/users/user-name/tmp/
env[TEMP] = /home/users/user-name/tmp/

; PHP values
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f webmaster@meine-domain-tld
php_admin_value[session.save_path] = /home/users/user-name/tmp/
php_admin_value[upload_tmp_dir] = /home/users/user-name/tmp/
php_admin_value[memory_limit] = 1024M
php_admin_value[max_execution_time] = 900
php_admin_value[post_max_size] = 100M
php_admin_value[upload_max_filesize] = 100M
php_admin_value[open_basedir] = /home/users/user-name/www:/home/users/user-name/files:/home/users/user-name/tmp
php_admin_value[disable_functions] = dl, disk_free_space, diskfreespace, stream_socket_sendto, proc_get_status, proc_nice, proc_open, proc_terminate, proc_close, popen, curl_multi_exec, pcntl_exec, pcntl_fork, pcntl_setpriority, symlink, link, posix_kill, posix_mkfifo, posix_setsid, posix_setuid, posix_setpgid, posix_getpwuid, show_source, highlight_file, syslog, openlog, define_syslog_variables, apache_child_terminate, apache_setenv, apache_note
php_value[allow_url_fopen] = 1
php_value[max_input_time] = 120
php_value[display_errors] = 1
php_value[log_errors] = 1
php_value[error_reporting] = 30711
Und das habe ich noch als zusätzliche Parameter in der Gui bei PHP eingetragen

Code: Select all

allow_url_fopen = on
max_input_time = 120
display_errors = on
log_errors = on
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 13:05
by Alexander
Habe mal in den Code geschaut - so sieht die Funktion von OXID Shop zur Prüfung, ob ini_set funktioniert aus:

Code: Select all

public function checkIniSet()
{
    return (@ini_set('memory_limit', @ini_get('memory_limit')) !== false) ? 2 : 0;
}
Find ich von OXID Shop (ohne die Software näher zu kennen) aber schon abenteuerlich, es mit memory_limit zu überprüfen - das funktioniert natürlich nicht. Wollen die diesen Wert zur Laufzeit immer anpassen oder wie, anstatt die das mit einem unproblematischeren Wert testen...

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 13:56
by space2place
Keine Ahnung Alex. Der Kunde hat schon lange eine Oxyd Shop und jetzt will er upgraden.
Der Supporter weiss wahrscheinlich gar nicht was geprüft wird.. ;)
Ich habe ja jetzt den Code manipuliert. Damit geht das Setup jetzt weiter.

Danke für Deine Unterstützung und Hinweise.
Gruß
Sascha

Re: Erfahrungen mit OXID Shop / KeyHelp und ini_set

Posted: Thu 17. Jun 2021, 14:33
by tab-kh
Sehe gerade, mit dem Code haben die einen Bug "gefixt". Hat wohl nichts damit zu tun, dass sie das memory_limit tatsächlich zur Laufzeit ändern wollen. Der "Fix" ist nur äusserst unglücklich gewählt.