Uruchomienie cron'a

Witam

chciałbym aby skrypt wykonywał sie co pewien czas np. co 5 min w tym celu utworzyłem na serwerze w katalogu głównym plik o nazwie cron-5min.php

a w nim dla testu mam wysyłanie meila.

$topic = 'test cron';

    $message = 'dziala corn';

    $header = "MIME-Versio: 1.0r\n"."Content-type: text/html; charset=UTF-8\r\n";

    $header .= 'From: test ';


    mail('tu_moj_email', $topic, $message, $header) or die('Nie wyslano');

Problem w tym, że zadnego meila nie dostaje, czyli ten cron sie nie wykonuje wyglada na to, dlaczego? Dodam ze jak uruchomie skrypt wpisujac w przegladarce to meila dostaje, czyli skrypt to wysyłki meila jest poprawny.

A do crona w panelu administracyjnym hostingu go dodałeś?

jak kolega wyżej napisał, musisz w konsoli lub panelu admina serwera dodac reguły crona kiedy ma się on wykonywac.

*/5 * * * * user(niewymagane) php -q /sciezka/do/pliku/cron-5min.php

Mam konto na darmowym hostingu vixo.pl i nie mogę znaleźć nic takiego…

W takim razie nie uruchomisz skryptu cyklicznie. Poszukaj innego hostingu, chociaż nie wiem czy na darmowym znajdziesz takie opcje. Może wykup sobie jakiś tani hosting np http://tanihost.com/

a co jeśli wrzuciłem skrypt do wysyłki meila na 100% działającego cron’a a meile do mnie nie przychodzą?

Może złą ścieżkę wpisałeś do crona. Powinieneś móc ustawić w cronie maila na który przesyłany jest wynik działania skryptu, zrób sobie tam testowo wyświetlanie jakiegoś tekstu o powodzeniu i o niepowodzeniu za pomocą echo(). To co się wyświetli po uruchomieniu crona zostanie wysłane na twój mail.

A no i jeszcze jedna możliwość - może maile do spamu trafiają

No raczej złej ścieżki do crona nie wpisałem bo sie uruchamia a meile tylko nie przychodzą, zrobiłem sobie testowo dodawanie rekordów do bazy celem sprawdzenia i także nie dodaje. No bo jeśli w pliku corn mam includa do innego pliku i pod spodem includa piszę dalej swoj kod (w tym pliku corn) to też powinien się wykonać no nie?

Lepiej skorzystaj z płatnego hostingu. Polecam proste.pl, cała konfiguracja cron-a jest bardzo prosta i nie ma problemów. Cena jest też w miarę.

  1. Skąd wiesz, że cron uruchamia plik, skoro on nie działa - sprawdzałeś to w jakiś inny sposób? Jeśli nie to sprawdź to tak jak ci pisałem zrób sobie proste echo “coś tam” i zobacz czy na maila dostajesz wynik

  2. Może być tez tak, że plik, który dodajesz includ’em nie dodaje się i to powoduje błąd. Zależy jaką ścieżkę podajesz - nie wszystkie które działają przez przeglądarkę zadziałają w cronie. Co ma konsekwencje również dalej - jeśli w includowanym pliku dodajesz kolejne, to ścieżki też mogą nie działać. Sprawdź czy pliki się includują. Jeśli serwer pozwala na to to włącz czasowo wyświetlanie się błędów PHP