Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [crontab] Uruchamianie skryptu php co minutę
Forum PHP.pl > Forum > Przedszkole
nexis
Witam,

mam na serwerze usługę crontab i chciałbym na przykład, aby skrypt o nazwie test.php uruchamiał się co minutę. Wpisuję więc:

***** /srv/www/htdocs/web121/html/test.php

Gdzie /srv/www/htdocs/web121/html/test.php to ścieżka, którą odczytałem za pomocą $_SERVER['SCRIPT_FILENAME'].

Problem jest taki, że skrypt ten się nie wykonuje. Co wpisuję źle w poleceniu?
mdco
Tak sie nie wykona musisz użyc polecenia php
Użyj w lini poleceń: php --help
kszychu
Albo wget http://localhost/test.php, ścieżkę oczywiście wpiszsobie taką jaką masz u siebie.
-nobody-
Trzeba użyć interpretera.

Skryptu php nie uruchomisz w ten sposob:
/sciezka/test.php

ale w ten:
php /sciezka/test.php

Mozna uzyc tez skryptu bash'a, ktory wykona powyzsze polecenie.
slawcio
bo to trzeba tak :
*/1 * * * * cd /srv/www/htdocs/web121/html/;php test.php
kacpero1094
Mi na maila zwraca coś takiego: /bin/sh: php: command not found
Co zrobić?
lukasz_matysek
zwraca ci coś takiego, ponieważ w tabeli crona jak i skryptach basha należy podawać bezpośrednią, bezwzględną lokalizację programu który uruchamiamy czy też pliku do którego się odwołujemy. Nie działają skróty przez tyldę - czyli do home, albo przez ./ czyli podkatalog bieżącego katalogu.

wklep sobie:

whereis php

dostaniesz w odpowiedzi prawdopodobnie lokalizację /usr/bin/php i tak należy to wpisać do crona.

Jeżeli nie masz zainstalowanego interpretera linii komend php, wpisz

apt-get install php5-cli


czy też jak instalujesz pakiety w swojej dystrybucji. Powyższe polecenie funkcjonuje dla debianów (ubuntu itp)
Cardil
Pomocna może okazać się klasa do zarządania prywartnymi plikami cron per projekt. Dostępne także narzędzie command line: https://github.com/MediovskiTechnology/php-crontab-manager
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.