Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak odpalić skrypt PHP co godzinę w Winowsie?
Forum PHP.pl > Forum > PHP
blusss1
Witam,
napisałem skrypt PHP który wrzuca zmienne z pliku *.txt do tabeli BD. Wszystko działa jak należy jeśli odpalę przeglądarkę i odświeżę ręcznie stronę www. Jednak zależy mi na tym aby co godzinę skrypt był wykonywany automatycznie. Bawiłem się opcjami Windowsa w Menadżerze Zadań i wiem że jest opcja aby menażer odpalał skrypt co określony czas. Jednak gdy ustawie sobie wszystko to oczywiście odpala się skrypt, ale nie w przeglądarce tylko wyskakuje komunikat jak przy ściąganiu pliku -> "Czy chcesz otworzyć plik, czy zapisać go?" a przecież nie o to mi chodzi. Nie chce zapisywać pliku który już istnieje na dysku, ponieważ jest to błędne koło.
1.Chce aby skrypt uruchomił się
2.Zrzucił dane do tabeli
3.Zakończył działanie

Za godzinę ma wykonać się ponownie itd.

Czy jest ktoś w stanie pomóc mi z tym problemem?
Z góry dziękuje
erix
Otwieraj go przez:
Kod
php -f sciezka\do\pliku

albo ściągnij sobie wget i przez niego odpalaj podając URL do skryptu.
blusss1
z konsoli CMD uruchamiam program wpisując:
php -f "ścieżka/do/pliku/skrypt.php"
i wszystko jest zapisywane, jednak gdy wpisze to samo w harmonogram zadań...
Oto komunikat przy tworzeniu nowego zadania w Harmonogramie:
Czy miał zostać uruchomiony następujący program: php
Z następującymi argumentami: -f "ścieżka/do/pliku/skrypt.php"

Pomyślałem że coś jest nie tak blink.gif Mimo wszystko zostawiłem tą opcję, i niestety przy wywołaniu skryptu odpala się CMD (mrugnięcie na ekranie) i nic poza tym (żadnego nowego wpisu nie widać)

Pomyślałem że dodam to zadanie inaczej:
cmd php -f "ścieżka/do/pliku/skrypt.php"
Oto komunikat:
Czy miał zostać uruchomiony następujący program: cmd
Z następującymi argumentami: php -f "ścieżka/do/pliku/skrypt.php"


Niby wszystko OK, jednak przy odpaleniu zadania pojawia się tylko ekran CMD i nic więcej się nie dzieje

Nie wiem jak ustawić w Harmonogramie aby odpalił się w pierwszej kolejności:
1. CMD
A następnie
2. php -f "ścieżka/do/pliku/skrypt.php" (w CMD)


Jeśli chodzi o wget to czytałem, że jest to Program służący do pobierania plików za pośrednictwem protokołu HTTP lub FTP.
Zależy mi na tym aby skrypt się odpalał co 1h, nie wiem czy wget umożliwi mi to
erix
A podajesz pełną ścieżkę?

Cytat
eśli chodzi o wget to czytałem, że jest to Program służący do pobierania plików za pośrednictwem protokołu HTTP lub FTP.
Zależy mi na tym aby skrypt się odpalał co 1h, nie wiem czy wget umożliwi mi to

Umożliwi. Kiedyś miałem tak odpalanego robota właśnie pod Windows i działał bez zarzutu; backupy też ściągam pod Windows właśnie przez wget i nie ma z nim najmniejszych problemów. Ba, na innych kompach czuję się jak idiota, jak wpisuję w konsolce wget, a tam złe polecenie lub nazwa pliku. ;P
blusss1
Panowie dziękuje za pomoc ale poradziłem sobie już guitar.gif wszystko śmiga z zapisem automatycznym tak jak trzeba (co 1h robi mi zrzut do bazy)
Problem był taki że w harmonogramie źle wpisywałem wywołanie do skryptu:
php - f "skrypt.php"
rozwiązanie tego było wręcz "banalne" i aż wstyd mi się do tego przyznać dlatego należy się trochę wyjaśnienia.
Oczywiście skrypt wykona się jeśli odpalimy go z wiersza poleceń lub przez przeglądarkę, jednak gdy chcemy odpalić go przez harmonogram zadań należy wpisać go w takiej postaci:
C:\php\php.exe - f "ścieżka_do_skryptu\skrypt.php" Dlaczego??
Otóż trzeba podać ścieżkę dostępu do pliku php zainstalowanego na naszym komputerze, następnie przez wywołanie opcji -f podajemy ścieżkę do skryptu i FINITO smile.gif
a tyle się nad tym głowiłem sciana.gif
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.