Benutzerdefinierte PHP-Konfiguration

PHP ist eine der am häufigsten verwendeten Skriptsprachen für die Erstellung dynamischer Webpages. Die meisten Websites und Webanwendungen basieren heutzutage auf PHP-Skripten. Daher sollten Websiteadministratoren wissen, wie sie die Ausführung von PHP-Skripten steuern können. Das PHP-Verhalten wird in der Regel durch eine Reihe von Konfigurationseinstellungen gesteuert. Mit diesen Einstellungen werden verschiedene Aspekte der Skriptausführung angegeben, unter anderem die Leistung (beispielsweise die Menge an Arbeitsspeicher, die ein Skript beanspruchen kann) und die Sicherheit (beispielsweise der Zugriff auf das Dateisystem und auf Services). Es gibt verschiedene Gründe, warum ein Administrator diese Einstellungen anpassen möchte:

  • Verhindern von Speicherlecks oder Hängen des Servers aufgrund mangelhaft geschriebener Skripte
  • Schützen der Daten vor schadhaften Skripten
  • Erfüllen der Anforderungen einer bestimmten Webanwendung
  • Testen eigener und anderer Skripte
Benutzerdefinierte PHP-Einstellungen in Plesk

Die PHP-Einstellungen werden generell durch die serverweite Konfigurationsdatei definiert. Für Linux ist dies normalerweise /etc/php.ini und für Windows %WIN%\php.ini. Diese Datei wird in der Regel von Ihrem Hosting-Provider verwaltet und definiert die PHP-Konfiguration für alle auf dem Server gehosteten Websites. Ab Plesk 10.4 können die PHP-Einstellungen im Kunden-Panel für jedes einzelne Hosting-Paket oder -Abonnement separat angepasst werden. Darüber hinaus können Kunden (sofern erlaubt) Ihre vorgegebenen PHP-Einstellungen einzeln für ihre Websites und Subdomains anpassen. Das folgende Diagramm zeigt die Hierarchie der PHP-Einstellungen.

Hierarchie der PHP-Einstellungen

Sie können die benutzerdefinierte PHP-Konfiguration eines bestimmten Service-Pakets, Add-on-Pakets oder Abonnements auf der Registerkarte PHP-Einstellungen festlegen. PHP-Einstellungen einer höheren Ebene fungieren als Voreinstellung für niedrigere Ebenen und werden daher von den einzelnen niedrigeren Ebenen außer Kraft gesetzt. Beispielsweise können Sie bewusst PHP-Einschränkungen für ein Service-Paket festlegen und dann Ihren Kunden anbieten, die Einschränkungen mit dem Add-on-Paket aufzuheben. Die PHP-Einstellungen des Add-on-Pakets setzen die im Haupt-Service-Paket definierten Einstellungen außer Kraft.
Kunden, die über die entsprechenden Berechtigungen verfügen, können für jede Website (oder Subdomain) in ihrem Abonnement eine eigene PHP-Konfiguration angeben.

PHP-Einstellungsgruppen

Zur Übersichtlichkeit sind alle PHP-Einstellungen in Plesk in zwei Gruppen unterteilt:

  • Leistungseinstellungen.
    Diese Einstellungen definieren, wie Skripte Systemressourcen verwenden können. Zum Beispiel: Mit dem Parameter memory_limit können Sie den Arbeitsspeicher für ein Skript begrenzen, um Speicherverlust zu verhindern. Oder Sie legen fest, wie lange Skripte maximal ausgeführt werden können, um zu verhindern, dass Skripte den Server blockieren. Konfigurieren Sie dazu max_execution_time.
  • Allgemeine Einstellungen.
    Diese Gruppe enthält weitere häufig verwendete PHP-Einstellungen. Dabei handelt es sich im Allgemeinen um diese Einstellungen: Sicherheitseinstellungen (z. B. das Aktivieren bzw. Deaktivieren des abgesicherten PHP-Modus oder die Berechtigung zum Registrieren globaler Variablen), Einstellungen für die Fehlerberichterstattung (z. B. die Anweisung zum Protokollieren von Fehlern) und andere Einstellungen.

Wichtig: Wenn Sie Plesk für Windows oder Plesk für Linux verwenden und PHP nicht als Apache-Modul ausgeführt wird, können Ihre Kunden einige PHP-Einstellungen ungeachtet bestehender Berechtigungen außer Kraft setzen. Sie können die Funktion ini_set() in ihren Skripten verwenden, um die Werte der folgenden Parameter zu ändern: memory_limit, max_execution_time, sowie die Werte Ihrer zusätzlichen Anweisungen, deren Festlegung PHP überall zulässt (PHP_INI_ALL-Anweisungen). Weitere Informationen finden Sie unter http://php.net/manual/de/ini.list.php.

Wenn Sie bestimmte Parameter in den Leistungseinstellungen oder in den allgemeinen Einstellungen nicht finden können, wenden Sie sich an Ihren Hosting-Provider.

Standardwerte für PHP-Parameter

Sie können die Werte der einzelnen Parameter in den PHP-Einstellungen festlegen, indem Sie einen vorgegebenen Wert auswählen, einen benutzerdefinierten Wert eingeben oder den Standardwert übernehmen. In letzterem Fall übernimmt Plesk den Parameterwert aus der serverweiten PHP-Konfiguration. Davon ausgenommen sind lediglich Add-on-Pakete: Wenn der Wert auf der Registerkarte PHP-Einstellungen des Add-on-Pakets auf Standard festgelegt ist, wird der Parameterwert aus dem Haupt-Service-Paket beibehalten.

Ermöglichen des Änderns von PHP-Einstellungen für Kunden

Sie können es zulassen, dass Ihre Kunden die PHP-Einstellungen eines Abonnements mit einer eigenen, pro Website und pro Subdomain geltenden PHP-Konfiguration überschreiben. Verwenden Sie zu diesem Zweck die folgenden Berechtigungen auf der Registerkarte Berechtigungen eines bestimmten Service-Pakets oder Abonnements:

  • Verwaltung der Hosting-Performance-Einstellungen.
    Neben der Verwaltung einiger anderer Einstellungen gewährt diese Berechtigung Kunden den Zugriff auf PHP-Einstellungen aus der Gruppe Performance-Einstellungen.
  • Verwaltung der allgemeinen PHP-Einstellungen.
    Wenn diese Berechtigung erteilt ist, können Kunden die PHP-Einstellungen aus der Gruppe Allgemeine Einstellungen anpassen.

Beachten Sie, dass Sie diese Berechtigungen für ein Paket (Abonnement) nur dann aktivieren bzw. deaktivieren können, wenn die Berechtigung Verwaltung der Hosting-Einstellungen erteilt ist.

Auch wenn Ihre Kunden nicht über die Berechtigung zum Anpassen der PHP-Einstellungen verfügen, können Sie (als Administrator) die PHP-Konfiguration für einzelne Websites (Subdomains) immer bearbeiten. Öffnen Sie hierzu im Reseller-Panel ein bestimmtes Hosting-Konto und nehmen Sie die Änderungen der Einstellungen einer bestimmten Website (Subdomain) auf der Registerkarte PHP-Einstellungen vor.