Entwicklung und Datenbanken

Pfade der PHP-Binärdateien für jede Version

Geprüft am 3 Min. Lesezeit php binarios

Der Befehl php im Terminal und in Cronjobs verwendet meist die allgemeine Version, die im PHP-Selektor von cPanel gewählt ist, mit den dafür aktivierten Modulen. Verlassen Sie sich aber nicht darauf: Wir haben Konten gesehen, in denen PHP 8.1 antwortete, obwohl der Selektor auf 8.4 stand, und auch /usr/local/bin/php muss nicht mit Ihrer Website übereinstimmen. Prüfen Sie immer mit php -v, und um einen Befehl mit einer bestimmten Version auszuführen, rufen Sie ihre Binärdatei über den absoluten Pfad auf. Eine in der .htaccess für einen Ordner festgelegte Version wirkt auf die Webanfragen dieses Ordners, nicht auf das Terminal oder Ihre Cronjobs.

Verwenden Sie den absoluten Pfad, wenn eine Aufgabe mit einer bestimmten Version laufen muss: Im Cron einer Anwendung, etwa bei schedule:run von Laravel, ist das am sichersten. Dies sind die ALT-PHP-Pfade; prüfen Sie vor der Verwendung, ob die Binärdatei in Ihrem Konto installiert ist:

Version Pfad
5.4 /opt/alt/php54/usr/bin/php
5.5 /opt/alt/php55/usr/bin/php
5.6 /opt/alt/php56/usr/bin/php
7.0 /opt/alt/php70/usr/bin/php
7.1 /opt/alt/php71/usr/bin/php
7.2 /opt/alt/php72/usr/bin/php
7.3 /opt/alt/php73/usr/bin/php
7.4 /opt/alt/php74/usr/bin/php
8.0 /opt/alt/php80/usr/bin/php
8.1 /opt/alt/php81/usr/bin/php
8.2 /opt/alt/php82/usr/bin/php
8.3 /opt/alt/php83/usr/bin/php
8.4 /opt/alt/php84/usr/bin/php
8.5 /opt/alt/php85/usr/bin/php

Jede Binärdatei lädt die Erweiterungen, die für genau diese Version ausgewählt sind. Nutzt ein Cronjob PHP 8.3 und die Website eine andere Version, aktivieren Sie auch in PHP 8.3 die Module, die der Befehl benötigt.

Version, Konfiguration und Module prüfen

Zum Beispiel für PHP 8.3:

/opt/alt/php83/usr/bin/php -v
/opt/alt/php83/usr/bin/php --ini
/opt/alt/php83/usr/bin/php -m

Erscheint „No such file or directory“, prüfen Sie die verfügbaren Versionen; den Pfad zu schreiben installiert diese Version nicht. Um zu sehen, was der kurze Befehl auflöst, verwenden Sie command -v php und php -v.

Die Binärdatei in einer Aufgabe verwenden

Dieses Beispiel führt ein Skript mit PHP 8.3 aus seinem Arbeitsverzeichnis aus:

cd /home/usuario/apps/mi-proyecto && /opt/alt/php83/usr/bin/php scripts/tarea.php

Ersetzen Sie beide Pfade und testen Sie den Befehl zuerst mit einer Aufgabe, die Sie ausführen können, ohne Vorgänge doppelt auszuführen. Geben Sie den Befehl in cPanel unter Cron Jobs ein und legen Sie die Häufigkeit in den Zeitplanfeldern fest. Behalten Sie anfangs eine private Diagnoseausgabe bei, um zu prüfen, ob die Aufgabe korrekt endet.

Eine andere Binärdatei zu wählen, ändert weder die Version der Website noch garantiert es, dass ihre Erweiterungen und Optionen übereinstimmen. Prüfen Sie jeden Kontext, den die Anwendung nutzt.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.