Nelze zjistit systémové info : Nextcloud, Owncloud

Nelze zjistit systémové info : Nextcloud, Owncloud

Doba čtení: 3 minut

ServerInfo\OperatingSystems\shell_exec() in file ‘/xxxxxx.cz/public_html/apps/serverinfo/lib/OperatingSystems/DefaultOs.php’ line 262 výpis v logu, co s tím a čím to je ?

Jako správci se setkáváte s různými choutkami.Zde kupříkladu řešíme to, kdy není vidět kapacita disku, RAM, a další detaily v cloudovém úložišti.

Řešení je však relativně rychlé chyba,  je způsobena tím, že funkce shell_exec() není dostupná na serveru, na kterém je provozován xcloud. Tato funkce je používána aplikací ServerInfo (část xcloudu) pro zjišťování informací o operačním systému, například pro získání informací o disku.

Možné příčiny a řešení:

  1. Zakázaná funkce shell_exec() v konfiguraci PHP:
    • Pokud je funkce shell_exec() zakázaná v souboru php.ini, bude to způsobovat tuto chybu. Podívej se do php.ini a zjisti, zda není funkce shell_exec() uvedena v seznamu zakázaných funkcí (disable_functions). Pokud je, zkus ji z tohoto seznamu odebrat (pokud máš přístup k úpravám konfigurace PHP).
    • Pokud nemáš možnost upravit php.ini, můžeš kontaktovat poskytovatele hostingu, aby ti tuto funkci povolil.
  2. Omezení prostředí, ve kterém xcloud běží:
    • Na některých sdílených hostingových prostředích může být použití shell_exec() z bezpečnostních důvodů zakázáno. V tomto případě bude potřeba se obrátit na technickou podporu hostingu, zda mohou povolit tuto funkci, nebo přejít na server, kde tato omezení nejsou.
  3. Řešení pomocí konfigurace xcloud:
    • Pokud není možné funkci shell_exec() povolit, můžeš zkusit dočasně nebo trvale deaktivovat aplikaci ServerInfo v xcloudu, pokud není nutná pro tvé potřeby. To lze udělat následujícím způsobem:
      • Přihlas se jako správce do xloudu.
      • Přejdi do Nastavení > Aplikace.
      • Najdi aplikaci Server Info a deaktivuj ji.
  4. Možné obcházení problému:
    • Pokud z nějakého důvodu nemůžeš aplikaci ServerInfo deaktivovat a také nemůžeš povolit shell_exec(), můžeš se pokusit nahradit problematické části kódu ve zdrojovém kódu aplikace, což však vyžaduje znalost PHP a může vést k nestabilitě systému. Toto řešení se však obecně nedoporučuje.
  5. Zjisti v php.ini jestli je funkce shell_exec (spolu s několika dalšími) skutečně zakázaná pomocí direktivy disable_functions
  6. Najdi řádek s disable_functions v souboru php.ini : disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,passthru,shell_exec,proc_open,popen
  7. a adstraň funkci shell_exec
  8. Restartuj webový server (Apache, Nginx nebo jiný server, který používáš), aby se změny projevily.
  9. sudo systemctl restart apache2 , sudo systemctl restart nginx
  10. To je celé.

Autor: Alex B.

BLOG.HARDWEB.CZ Další článekt Skrytí navigace obrázků ve woocommerce ? Bez pluginů