Jak możemy pomóc?

Poszukiwanie...

Jak uruchomić inną wersję PHP z crona lub konsoli?

W konsoli SSH i zadaniu CRON możesz wywołać konkretną wersję PHP, podając nazwę jej programu. Dzięki temu skrypt nie zależy od tego, jaką wersję uruchamia samo polecenie php. W przykładach używamy PHP 8.4 — wybierz wersję dostępną na swoim serwerze i zgodną z aplikacją.

1. Sprawdź wybraną wersję PHP

Po połączeniu przez SSH sprawdź interpreter, czyli program wykonujący skrypt:

php8.4 -v

Hostido stosuje nazwy phpX.Y, np. php8.4. Pełna ścieżka ma postać /usr/local/bin/php8.4. Jeśli otrzymasz komunikat o braku polecenia lub pliku, sprawdź dostępność danej wersji dla swojej usługi.

2. Uruchom skrypt wskazanym interpreterem

Podaj pełną ścieżkę do pliku PHP. W poniższym poleceniu zastąp nazwę konta, domenę i nazwę pliku swoimi danymi:

Uruchomienie wykona kod skryptu, a więc może zmienić dane aplikacji. Przed próbą sprawdź, do czego służy wybrany plik i czy można bezpiecznie uruchamiać go ręcznie.

/usr/local/bin/php8.4 /home/hostXXXXXX/domains/example.com/public_html/skrypt.php

3. Użyj tej samej ścieżki w CRON

W polu polecenia zadania CRON wpisz pełną ścieżkę do PHP oraz do skryptu. Harmonogram ustaw osobno w przeznaczonych do tego polach. Pełne ścieżki ograniczają różnice między środowiskiem konsoli i harmonogramu.

Jeżeli aplikacja wymaga uruchomienia z konkretnego katalogu, przejdź do niego w poleceniu, a dopiero potem wykonaj skrypt:

cd /home/hostXXXXXX/domains/example.com/public_html && /usr/local/bin/php8.4 skrypt.php

Opcjonalnie: zmień polecenie php w swojej konsoli

Jeżeli chcesz zmienić polecenie php tylko dla swojego konta SSH, możesz utworzyć dowiązanie w katalogu ~/bin. Najpierw sprawdź ls -l ~/bin/php. Jeśli plik lub dowiązanie już istnieje, ustal jego przeznaczenie przed zmianą; nie nadpisuj go w ciemno.

mkdir -p ~/bin
ln -s /usr/local/bin/php8.4 ~/bin/php

Zaloguj się ponownie i sprawdź command -v php oraz php -v. Rozwiązanie wymaga, aby ~/bin znajdował się wcześniej w zmiennej PATH niż katalog z dotychczasowym PHP. W CRON nadal możesz podawać pełną ścieżkę bez zmiany domyślnego polecenia.

Aby cofnąć tę konkretną zmianę, najpierw potwierdź przez ls -l ~/bin/php, że jest to utworzone przez Ciebie dowiązanie, i usuń je poleceniem unlink ~/bin/php. Nie usuwaj innych plików w tym katalogu.

Gdy skrypt nadal działa inaczej niż strona

Sprawdź php8.4 --ini i php8.4 -m: pokażą pliki konfiguracji oraz dostępne moduły. PHP w konsoli i PHP obsługujące stronę mogą korzystać z innych ustawień. Jeśli skrypt uruchamia kolejne procesy przez samą nazwę php, sprawdź również wersję widoczną dla tych procesów.