Wenn auf der Website ein Problem mit dem Laden von Seiten auftritt, das mit der Funktion open_basedir zusammenhängt, was durch die Fehlermeldung open_basedir restriction in effect angezeigt wird (dies kann sowohl auf den Seiten der Website als auch nur in [Fehlerprotokollen] auf dem Server auftreten), kann diese Funktion deaktiviert werden.
Kurz gesagt, die Funktion open_basedir beschränkt den Zugriff von PHP-Skripten der Website auf andere Skripte und Verzeichnisse, die sich außerhalb der Website befinden. Ihr Hauptzweck besteht darin, Websites voneinander zu isolieren, damit jede Website nur die Dateien/Verzeichnisse ihres Stammverzeichnisses "sieht" und nicht in die Arbeit anderer Websites/Verzeichnisse eingreift.
Diese Anleitung ist nur für das Hestia-Kontrollpanel relevant; für andere Panels oder Servertypen kann sie nicht relevant sein. Stellen Sie vor Beginn der Arbeiten sicher, dass Sie einen [Server-Snapshot] erstellt haben. Alle Operationen erfolgen auf eigenes Risiko des Serverbesitzers.
Daher muss in der Konfigurationsvorlagendatei die Zeile, die sich auf diese Funktion bezieht, auskommentiert werden. Die Vorlagendateien befinden sich unter /usr/local/hestia/data/templates/web/php-fpm/ und haben Namen, die den PHP-Versionen ähneln, für die open_basedir deaktiviert werden muss. Zum Beispiel hat die Vorlage für die Version PHP 7.4 den Namen PHP-7_4.tpl.
In dieser Datei gibt es die Zeile php_admin_value[open_basedir] = ..., unser Ziel ist es, sie auszukommentieren, indem wir ein Semikolon am Anfang der Zeile hinzufügen, sodass es so aussieht ;php_admin_value[open_basedir] = ....
Dazu können Sie jeden Texteditor verwenden, z. B. nano oder vim, oder Sie führen den folgenden Befehl aus, der die benötigte Zeile findet und sie auskommentiert. Beachten Sie den Dateinamen im Befehl; wenn Sie eine andere PHP-Version haben, vergessen Sie nicht, den Dateinamen zu ändern, da das folgende Beispiel für PHP 7.4 gedacht ist.
sed -i 's/php_admin_value\[open_basedir\]/;php_admin_value\[open_basedir\]/g' /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4.tpl
Nun müssen die Änderungen von der Vorlage in die Hauptkonfiguration der Website geschrieben und der PHP-Dienst 7.4 neu gestartet werden. All dies kann sowohl manuell über das Kontrollpanel und die Dateien des Panels als auch mit nur einem Befehl erfolgen. Beachten Sie, dass der Befehl 3 Variablen enthält: den Benutzernamen (admin) des Kontrollpanels, in dem die Website gehostet wird, die Domain der Website (example.pp.ua) und den Namen der Vorlage (PHP-7_4), die wir oben bearbeitet haben. Ändern Sie diese Daten entsprechend Ihren eigenen, bevor Sie den Befehl ausführen.
v-change-web-domain-backend-tpl admin example.pp.ua PHP-7_4
Fertig.
Jetzt können Sie überprüfen, ob die Funktion deaktiviert ist, indem Sie [prüfendes PHP-Skript phpinfo] verwenden.
So sieht die aktivierte Funktion open_basedir aus (erster Screenshot) und so, wenn sie deaktiviert ist (zweiter Screenshot).


Alle Kategorien von Fragen