W CPanel zadanie cron nie jest wykonywane i nie wysyła żadnej poczty

0

choć wielu z nas zadało wiele pytań związanych z pracą crona, pozwólcie, że zadam jedno ...

Chcę okresowo wykonywać skrypt PHP. Jako polecenia crona używam:

php -q http://www.example.com/cron.php?action=getA

Próbowałem też tego:

php -q /home/myuser/www.example.com/cron.php?action=getA

Nie wykonuje się i nie wysyła żadnej poczty. Ustawiam identyfikator poczty na mój identyfikator gMail . Co ja robię źle?

Abhishek
źródło
Jeśli wykonasz skrypt bezpośrednio, czy wiadomość zostanie wysłana?
Jane T
W CPanel istnieje możliwość ustawienia identyfikatora e-mail. Send an email every time a cron job runs. less » You can have cron send an email everytime it runs a command. If you do not want an email to be sent for an individual cron job you can redirect the command's output to /dev/null like this: mycommand >/dev/null 2>&1 Current Email: [email protected]
Abhishek

Odpowiedzi:

1

To, co próbujesz, nie zadziała, ponieważ nie możesz przekazać zmiennych GET przez wiersz poleceń PHP i musisz albo uciec ze znaków zapytania, albo otoczyć ciąg cudzysłowami, gdy używasz znaków zapytania w wierszu polecenia.

To zadziała:

wget 'http://www.example.com/cron.php?action=getA'

Jack Wade
źródło
0

Co powiesz na:

wget http://www.example.com/cron.php?action=getA

czy na pewno masz www.example.com jako swoją ścieżkę?

wykonaj następujące czynności w pliku cron.php

<?php
// current directory
echo getcwd() . "\n";
?>

Zwróci ci dokładny katalog, w którym znajduje się plik cron.php, i użyj php -q w twoim cronie.

Myślę, że powinieneś użyć czegoś takiego na cPanel:

php -q /home/myuser/public_html/cron.php?action=getA
Adnan
źródło
Próbowałem również tego „wget example.com/cron.php?action=getA ”. Ale żadnych maili. :(
Abhishek
Wykonaj wiersz, aby uzyskać ścieżkę do folderu. A potem dołącz go do PHP -q
Adnan
chciałeś powiedzieć „php -q /home/myuser/pathtocronfile/cron.php”? Próbowałem tego. :( Proszę o szczegółową odpowiedź.
Abhishek
Jako komendy crona próbowałem tego: wget /home/myuser/public_html/cron.php; php -q /home/ovsec/public_html/cron.php to nie działa. Proszę pomóż.
Abhishek