Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]urochomienie pliku PHP przez cron na home.pl, cron na home.pl
piekloniebo
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Witam,
Chciałbym uruchamiać na home.pl codziennie o godzinie 15.00 powiedzmy plik .php z jednego z podkatalogów.
Z tego co wyczytałem w dokumentacji muszę stworzyć w katalogu głównym plik o nazwie cron-1500.php.

Nie wiem tylko co w tym pliku wpisać bo używanie include nie działa.


ścieżkę do katalogu głównego na home.pl zapisuje się u mnie przez poi prostu tak "/".

Ja potrzebuję odpalić skrypt który znajduję się w lokalizacji "/xxxx/skrypt.php".

Help
D


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Wydaje mi się że ten plik interpretowany jest jak inne pliki na serwerze ponieważ virtual servery są chrootowane na home.pl.

spróbuj czegoś takiego:

  1. <?php
  2. <php
  3. $commamd = "curl -s -o /dev/null http:// www. adres. twojego. serwera. home.pl /cron.php";
  4. exec($command);
  5. ?>

to oczywiście w pliku
crohn-1500.php5
lub crohn-1500.php (dla php4 o ile pamiętam)

edit: coś mi się formatowanie rozjechało...

Ten post edytował jarrod 6.08.2009, 08:54:52
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. <?php
  2. file_put_contents('log.txt', getcwd());
  3. ?>

Wrzuc to do pliku crona i juz wiesz w jakim katalogu roboczym pracuje php


--------------------
Go to the top of the page
+Quote Post
piekloniebo
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Kurcze zgubiłem się.
Może jeszcze raz z konkretnym adresem.
Potrzebuję tego crona żeby mi updatował dane o aukcjach allegro.
Na swojej stronie piekloniebo.pl postawionej na home.pl mam katalog allegro z całym skryptem.
Więc żeby cron mi zadziałał rozumiem że w katalogu głównym umieszczam plik:
cron-1500.php
o tresci

  1. <?php
  2. $commamd = "curl -s -o /dev/null http:// www.piekloniebo.pl /allegro/pobierz_aukcje.php";
  3. exec($command);
  4. ?>



bo cyklicznie odpalany ma być odpalany właśnie plik http:// www.piekloniebo.pl /allegro/pobierz_aukcje.php.

czy dobrze rozumiem....
questionmark.gif?


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #5





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


dokładnie tak.
plik cron-1500.php umieszczasz w katalogu root-a "/"

możesz to przetestować szybciej umieszczając plik cron-5min.php5 i tam przetestować. Będzie się on uruchamiać co 5 minut (najmniej na tych serwerach).

Dokumentacja znajduje się pod adresem http://home.pl/dokumentacja/funkcjeserwera/skrypty/cron
Go to the top of the page
+Quote Post
piekloniebo
post
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Coś mi tutaj nie trybi.
Ustawiłem ten plik na przejście co 5 min.
I jestem pewien że to automatyczne odpalenie nie startuje bo mam plik tekstowy do którego ten skrypt pwoinien zapisać dane i pliczek ciągle jest pusty na nawet po upływie 1-2 minut po wyznaczonym czasie.
Bo doczytałem w dokumentacji że ten czas może się trochę opóźnić.

Jak puszczę ten skrypt bezpośrednio wchodząc na:
http://www.piekloniebo.pl/allegro/pobierz_aukcje.php

to wszystko jest ok i plik txt dostaje dane.

Więc ten plik cron-5min.php5 nie odpala mi powyższego.


W czym może być kwestia?

Pozdr
D


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #7





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


nie umieściłeś pliku (cron) w katalogu głównym SERWERA (nie twojego programu).

cytat z dokumentacji:
Cytat
Środowisko uruchomieniowe skryptów jest identyczne ze środowiskiem, w jakim uruchamiane są skrypty na serwerach wirtualnych. W praktyce wywołanie takie niewiele różni się od zwykłego wywołania GET po protokole HTTP.

czyli include też działa.

Ja ma hosting w home i cron-y mi działają (w opisany wyżej sposób)...
Go to the top of the page
+Quote Post
piekloniebo
post
Post #8





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Jarrod a jak ten plik ma wyglądać.
Bo już nie czaję.
Plik cron?
moje pliki wyglądają tak:
w katalogu głównym umieściłem:
cron-5min.php5
a w katalogu /allegro/ znajduje się pliczek który ma być uruchamiany

rozumiem że potrzebny jest jeszcze jakiś trzeci plik.

questionmark.gifquestionmark.gif


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #9





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


nie. to tyle.
Wg dokumentacji i moich doświadczeń to powinno działać.

hmmm..
a sam plik cron-5min.php5 nie generuje jakiegoś błędu? możesz usunąć jego zawartość i zapisać w jakimś pliku log jakąś informację aby sprawdzić czy się wykonuje?
ja teraz zrobię to na swoim hostingu.

ok. u mnie (hosting home.pl)
zawartość pliku /cron-5min.php5
  1. <?
  2. $file = '/log.log';
  3. file_put_contents($file, "generuję się z crona w katalogu: ".getcwd());
  4. ?>

po kilku minutach:
zawartość pliku /log.log
generuję się z crona w katalogu: /
Go to the top of the page
+Quote Post
piekloniebo
post
Post #10





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Jarrod ten log file mi śmiga i zapisuje do niego ale za cholerę nie mogę odpalić skryptu w podkatalogu.

chyba tutaj coś jest nie tak:
  1. <?php
  2. $commamd = "curl -s -o /dev/null http:// www.piekloniebo.pl /allegro/pobierz_aukcje.php";
  3. exec($command);
  4. ?>


Pozd


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #11





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


masz dostęp do konsoli? możesz wywołać komendę prosto z konsoli i sprawdzić czy ona działa.
Go to the top of the page
+Quote Post
piekloniebo
post
Post #12





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Nie mam konsoli.
Jak ją zainstalować?


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
vokiel
post
Post #13





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Na home nie ma konsoli.

Crona uruchamiam tak:

Katalog główny konta:
cron-5min.php

w pliku:

  1. <?php
  2. include '/allegro/pobierz_aukcje.php';
  3. ?>


--------------------
Go to the top of the page
+Quote Post
piekloniebo
post
Post #14





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Kurcze,
jeden krok do przodu.
Użyłem tego zapisu:
<?php
include '/allegro/pobierz_aukcje.php';
?>
Zapisuje mi do pliku aukcje.txt ale w katalogu głównym.
Wcześniej też tego próbowałem ale nie miałem pustego pliku wstawionego więc nie widziałem efektu.
A powinien zapisywać do aukcje.txt w podkatalogu /allegro/.

Wygląda na to że jak cron wykonuje ten skrypt w katalogu głównym to robi zapis do głównego nawet jeżeli wykonywany jest plik z jakiegoś podkatalogu.

Widziałem gdzieś ze można zmienić katalog takim poleceniem:

chdir('allegro/');

ale wtedy chyba trzeba zmienić ścięzkę z include na:

include 'pobierz_aukcje.php';

dobrze myślę?


Dzięki za pomoc dotychczas Jarrod i Vokiel!!!

Ten post edytował piekloniebo 7.08.2009, 11:34:57


--------------------
galeria artystów piekloniebo.pl - kolczyki, klipsy, bransoletki, prezenty
zapraszam

Darek Dawicki
Go to the top of the page
+Quote Post
jarrod
post
Post #15





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


to wynika z samej instrukcji include.
Oznacza to "dodaj w tym miejscu kod z pliku...". A to oznacza że nie ważne gdzie ten plik się znajduje, ważne, który plik wykonuje. Zatem, jeśli plik cron znajduje się w katalogu głównym to do tego miejsca odnoszą się wszelkie instrukcje operacji na plikach.
owszem - po użyciu funkcji chdir zostaniesz "przeniesiony" do tego katalogu i ten własnie katalog będzie miejscem wykonywania operacji na plikach.

Również include będzie działało od tego miejsca czyli zamiast include '/allegro/pobierz_aukcje.php'; użyjesz tylko 'pobierz_aukcje.php';

Zauważ, że nie umieściłem znaku "/" na początku. W ten sposób odnosisz się to relatywnego (od twojego aktualnego katalogu) położenia pliku.
Jeśli na początku ścieżki znajduje się "/" oznacza to, że odnosisz się do pliku względem roota czyli od głównego katalogu.
Go to the top of the page
+Quote Post
-Omagi-
post
Post #16





Goście







Witam

Zakładam sobie Seo Panel na serwerze Home.pl i muszę podłączyć crona.

plik crona jest w subdomenie czyli nie w rocie. Chciał bym dodać np. cron-daily.php a on by sie odnosił i uruchamiał skrypt odświeżania pozycji w google który znajduje się /seo.omagi.pl/cron.php

Był by ktoś w stanie mi pomóc ?

Pozdrawiam
Go to the top of the page
+Quote Post
Tom:-)
post
Post #17





Grupa: Zarejestrowani
Postów: 284
Pomógł: 0
Dołączył: 25.03.2007
Skąd: Globalna wioska

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


Ktoś pisał że można uruchamiać cron z innego serwera i wtedy można uruchamiać go co minutę. Jak to się robi?


--------------------
Go to the top of the page
+Quote Post
Aqu
post
Post #18





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Np. robisz plik php na serwerze z cronem, ustawiasz crona żeby odpalał go co minutę. W tym pliku za pomocą curla odpalasz skrypt na innym serwerze. wink.gif
Go to the top of the page
+Quote Post
Tom:-)
post
Post #19





Grupa: Zarejestrowani
Postów: 284
Pomógł: 0
Dołączył: 25.03.2007
Skąd: Globalna wioska

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


Ok dziękuję coś mi naświetliłeś


--------------------
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 Aktualny czas: 20.08.2025 - 07:39