Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypty *.bat, konfiguracja skryptu
blusss1
post 24.11.2009, 23:56:25
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (0%)
-----


Witam,
posiadam skrypt *.php który chciałbym automatycznie odpalać co 1h.
Windows oferuje mi tą możliwość za pomocą "Harmonogramu zadań", jednak program ten ma problem z odpaleniem mojego skryptu PHP który wywoływany jest za każdym razem gdy odpalę przeglądarkę www. Skrypt działa gdy odpalę go ręcznie (zadaniem jego jest odczyt danych z pliku txt i przekazanie wartości do Bazy Danych)
Wyczytałem na necie, że mogę napisać inny skrypt (wystarczy zapisać plik z rozszerzeniem *.bat) który przez harmonogram zadań odpali mój mający za zadanie przekazać informacje do bazy...
mowa o skryptach bat
Jeśli odpowiednio skonfiguruje plik z rozszerzeniem *.bat to mogę go wywołać do odpalenia mojego skryptu *.php i wtedy mógłbym w harmonogramie zadań określić ścieżkę do pliku z rozszerzeniem *.bat jednak nie bawiłem się nigdy tego rodzaju skryptami, może ktoś z was mi pomoże??
Go to the top of the page
+Quote Post
b4x
post 24.11.2009, 23:59:24
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


Ja bym to tak mniej więcej zrobił (komenda dla WINDOWSA XP) - wystarczy wklepać raz tongue.gif

Kod
schtasks /create /tn "Mój CRON" /tr "C:\Program Files\Mozilla Firefox\firefox.exe http://www.costam.pl/skrypt.php" /sc hourly


--------------------
Go to the top of the page
+Quote Post
blusss1
post 25.11.2009, 09:34:57
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (0%)
-----


chwila dla wyjaśnienia:
W jaki sposób i gdzie mam wpisać tą ścieżkę??
schtasks /create /tn "Mój CRON" /tr "C:\Program Files\Mozilla Firefox\firefox.exe http://www.costam.pl/skrypt.php" /sc hourly


co mam wpisać w pole -> "Mój CRON"questionmark.gif czy to nie ma być nazwa np: cron*.bat??
rozumiem, że to jest ścieżka dostępu do zainstalowanego firefoxa -> "C:\Program Files\Mozilla Firefox\firefox.exe
a to ścieżka lokalizacji skryptu PHP -> http://www.costam.pl/skrypt.php"

Go to the top of the page
+Quote Post
seba22
post 25.11.2009, 09:42:18
Post #4





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

Ostrzeżenie: (0%)
-----


Wersja zaproponowana przez kolegę wyżej ma sens tylko wtedy kiedy serwer jest na zdalnej maszynie.
----
Mój CRON to nazwa zadania w harmonogramie (dla twojej informacji)

A smoka Firefoxa, zamień na milutką malutką windowsową kompilację wgeta
http://pages.interlog.com/~tcharron/wgetwin.html

---


Jeżeli serwer masz u siebie, to nie potrzebujesz w ogóle wywoływać go zdalnie przy użyciu przeglądarki, wystarczy że odwołasz się do interpretera.

c:\php\interpreter.exe c:\strona\plikcron.php



--------------------
Go to the top of the page
+Quote Post
blusss1
post 25.11.2009, 14:17:03
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Fifi209
post 25.11.2009, 18:15:02
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Wystarczy dodać ścieżkę w zmiennych środowiskowych, konkretniej dopisać się na końcu Path i możemy php używać bez podawania ścieżki ;]

Konkretniej: mój komputer -> właściwości -> zaawansowane -> zmienne środowiskowe


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
blusss1
post 25.11.2009, 18:20:28
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (0%)
-----


Zmienne środowiskowe miałem już dodane od samego początku instalacji PHP z Apache winksmiley.jpg i niestety to działa tylko wtedy jak odpalamy skrypt przez CMD ... ale jeżeli spróbujesz walczyć z harmonogramem zadań, to sam się przekonasz że nie jest on przystosowany do wykrywania automatycznych opcji php takich jak -f ale problem już rozwiązany, można zamknąć temat smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 14:23