PHP-Einstellungen ändern
ServBay wird mit einer integrierten PHP-Umgebung geliefert und bietet flexible Konfigurationsoptionen. Dieser Artikel beschreibt detailliert, wie man die PHP-Einstellungen in ServBay ändert, einschließlich der Positionen der Dateien php.ini
und php-fpm.conf
sowie häufige Konfigurationselemente. Je nach PHP-Version befinden sich diese Dateien im Verzeichnis /Applications/ServBay/etc/php/<version>
. Zudem befinden sich die Konfigurationsdateien für die PHP-Modulladung (wie xdebug.ini
) im Verzeichnis /Applications/ServBay/etc/php/<version>/conf.d
.
Wichtiger Hinweis
Bitte ändern Sie die Konfigurationsdateien nicht manuell. Alle Konfigurationsdateien werden automatisch von ServBay generiert, und manuelle Änderungen könnten überschrieben werden. Nutzen Sie die Benutzeroberfläche für Änderungen.
Übersicht
In ServBay werden die Konfigurationsdateien von PHP je nach Version in verschiedenen Verzeichnissen gespeichert. Zum Beispiel befinden sich die Konfigurationsdateien für PHP 8.3 im Verzeichnis /Applications/ServBay/etc/php/8.3
. Hier der detaillierte Speicherort dieser Dateien:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- PHP-Modulladekonfigurationen:
/Applications/ServBay/etc/php/8.3/conf.d/
Mittels ServBays UI Änderungen vornehmen
ServBay ist mit einer leistungsstarken grafischen Administrationsoberfläche ausgestattet, über die Nutzer verschiedene Konfigurationsparameter direkt ändern können. Nach dem Klicken auf Speichern werden die Änderungen automatisch übernommen und sind sofort wirksam, was das manuelle Bearbeiten der Parameter erspart.
Öffnen Sie im linken Navigationsmenü "Sprache" und wählen Sie die zu ändernde PHP-Version aus, dann erscheint im rechten Bereich das Bearbeitungsmenü. Eine typische Oberfläche sieht wie folgt aus:
Die Oberfläche ist in drei verschiedene Konfigurationselemente unterteilt, die PHP-FPM, PHP und PHP-Module entsprechen. Im Folgenden wird jedes Element erläutert.
PHP FPM
Hinweis
php-fpm.conf
bezieht sich auf die Leistung der PHP-Ausführung im Webdienst, alle Konfigurationen haben Vorrang vor (überschreiben) den Einstellungen in php.ini
.
Diese Einstellungen wirken sich jedoch nicht auf die Ausführung des Codes im CLI aus.
Zuerst das PHP FPM Konfigurationsinterface. Unabhängig davon, ob Caddy oder NGINX verwendet wird, läuft PHP im ServBay-Webdienst im FPM-Modus. In diesem Interface können Sie die Anzahl der FPM-Prozesse, Speicherbeschränkungen, die Fehlerprotokollstufe und ob Fehlermeldungen im Browser angezeigt werden sollen, konfigurieren.
Wenn Sie zum Beispiel das Memory Limit
im Web von 64M auf 1G ändern möchten, wählen Sie im Dropdown-Menü Memory Limit
einfach 1G
und speichern anschließend. Diese Änderung wirkt sich nicht auf die php.ini
-Konfiguration aus; PHP-Skripte, die im CLI-Modus laufen, unterliegen weiterhin der Kontrolle der php.ini
.
Angenommen, das php.ini
konfigurierte Memory Limit
beträgt 512M
, während das PHP FPM
konfigurierte Memory Limit
128M
ist, kann dasselbe Skript im CLI-Modus 512M Speicher verwenden und im Webmodus 128M Speicher.
php.ini
Hinweis
Die Einstellungen in php.ini
sind global und beeinflussen sowohl das CLI als auch das Web. Die Einstellungen in php.ini
könnten jedoch im Web durch php-fpm.conf
überschrieben werden.
Der PHP-Konfigurationsteil bezieht sich auf die Einstellungen in php.ini
, die das Kernkonfigurationsfile von PHP darstellt.
Hier können Sie die meisten Optionen der php.ini
konfigurieren, wie z.B. post_max_size
, das das Post-Formular beeinflusst, und upload_max_filesize
, das die Upload-Größe von Dateien beeinflusst. Auch das Deaktivieren von Funktionen mit disable_functions
und das Deaktivieren von Klassen mit disable_classes
ist möglich.
Da die Einstellungen global sind, wird empfohlen, im Falle einer open_basedir
Einstellung, alle Websites einheitlich im Verzeichnis /Applications/ServBay/www
abzulegen, um die Festlegung mehrerer Verzeichnisse zu vermeiden.
Für eine detaillierte Liste der Konfigurationsfelder konsultieren Sie das offizielle Dokument der php.ini.
Erweiterungsmodule
ServBay enthält eine Vielzahl von häufig genutzten PHP-Erweiterungsmodulen wie xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
und andere. Eine detaillierte Modulliste finden Sie unter PHP Erweiterungsmodule Liste.
Das Aktivieren von PHP-Erweiterungsmodulen ist sehr einfach, ein Klick auf den Schalter und anschließend Speichern genügt. Bei Modulen wie xDebug, die über zusätzliche Konfigurationsoptionen verfügen, können diese Optionen leicht geändert werden.
Durch manuelle Bearbeitung der Konfigurationsdateien ändern
WARNING
Die manuelle Bearbeitung der Konfigurationsdateien ist nur für temporäre Änderungen bestimmter Konfigurationen geeignet.
Wir empfehlen nicht, die Konfigurationsdateien von PHP manuell zu ändern, da alle Änderungen von ServBay überschrieben werden.
php.ini-Konfiguration
Die php.ini
-Datei ist die Hauptkonfigurationsdatei von PHP und dient zur Einstellung verschiedener PHP-Laufzeitoptionen.
Häufige Konfigurationselemente
Hier sind einige gängige php.ini
-Konfigurationselemente und deren Änderungsmethoden:
Ändern der Speicherbegrenzung:
memory_limit = 256M
1Ändern der Upload-Dateigrößenbegrenzung:
upload_max_filesize = 50M post_max_size = 50M
1
2Ändern der Zeitzoneneinstellung:
date.timezone = "Asia/Hong_Kong"
1Aktivieren der Fehleranzeige:
display_errors = On error_reporting = E_ALL
1
2Ändern der maximalen Ausführungszeit:
max_execution_time = 300
1
php-fpm.conf-Konfiguration
Die Datei php-fpm.conf
wird verwendet, um die Betriebsparameter des PHP-FPM (FastCGI Process Manager) zu konfigurieren.
Häufige Konfigurationselemente
Hier sind einige gängige php-fpm.conf
-Konfigurationselemente und deren Änderungsmethoden:
Ändern der Prozesspool-Einstellungen:
[www] listen = /Applications/ServBay/tmp/php-cgi-8.3.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 ;listen.owner = www ;listen.group = www listen.mode = 0666 ;user = www ;group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.max_requests = 1024 pm.process_idle_timeout = 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Aktivieren des Slow-Logs:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Ändern des Fehlerprotokollpfads:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
PHP-Modulladekonfiguration
Die Konfigurationsdateien für das Laden von PHP-Modulen befinden sich im Verzeichnis /Applications/ServBay/etc/php/8.3/conf.d/
. Zum Beispiel wird die Datei xdebug.ini
zur Konfiguration der Xdebug-Erweiterung verwendet.
Beispiel für xdebug.ini
Hier ist ein Beispiel für eine xdebug.ini
-Datei:
[Xdebug]
; Kommentieren Sie die folgende Zeile aus, um XDebug zu aktivieren
zend_extension = xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
PHP neu starten
Nach dem Bearbeiten der PHP-Konfigurationsdateien muss der PHP-Dienst neu gestartet werden, damit die Änderungen wirksam werden. Sie können dies über die ServBay-Administrationsoberfläche oder mit dem Kommandozeilen-Tool servbayctl
tun.
Neustart über die ServBay-Verwaltungsoberfläche
- Öffnen Sie die ServBay-Verwaltungsoberfläche.
- Navigieren Sie zu
Dienst
. - Finden Sie den entsprechenden PHP-Dienst und klicken Sie auf die Schaltfläche
Neu starten
.
Neustart mit servbayctl
Mit dem Kommandozeilen-Tool servbayctl
kann der PHP-Dienst bequem neu gestartet werden:
servbayctl restart php 8.3
Zusammenfassung
In ServBay befinden sich die PHP-Konfigurationsdateien im Verzeichnis /Applications/ServBay/etc/php/<version>
, inklusive php.ini
und php-fpm.conf
. Die Konfigurationsdateien für das Laden von PHP-Modulen befinden sich im Verzeichnis /Applications/ServBay/etc/php/<version>/conf.d/
. Nach Bearbeitung dieser Konfigurationsdateien können Sie den PHP-Dienst über die ServBay-Administrationsoberfläche oder mit dem Kommandozeilen-Tool servbayctl
neu starten, um die Änderungen wirksam werden zu lassen.