Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]https, a zadanie CRON (nie działa - brak dostępu)
Forum PHP.pl > Forum > Przedszkole
bkurylowicz
Witam. Jest to mój pierwszy post na tym forum.
Nikt nie jest w stanie mi pomóc.

Opiszę sytuację:

mam serwer, domenę i certyfikat SSL kupiony na nazwa.pl.
mam skrypt ogłoszeń który kupiłem od pewnej firmy.

Koledzy mi przerobili skrypt tak, aby ładował wszystko po https i z tym nie ma problemu.

Ale zaczął się problem z wykonanien harmonogramu zadań.

Zadanie było ustawione tak, aby raz dziennie sprawdzać bazę ogłoszeń w poszukiwaniu takich, które kończą się za 2 dni. Jeśli znalazł, przesyłał do użytkownika maila z linkiem %renew% i użytkownik mógł sobie przedłużyć ogłoszenie.

Teraz konkrety:
jeśli kliknę ręcznie w link skryptu https://mojadomena.pl/cron/announcements/expiring/token-cron , wtedy zadanie zostaje pomyślnie wykonane (wysyła maila do uzytkowników ogłoszeń)
w instrukcji skryptu było napisane jak ustawić zadanie CRON aby robiło się to aytomatycznie. komenda następująca: /usr/bin/lynx --dump http://mojadomena.pl/cron/announcements/expiring/token-cron dodam, że S dodawałem do http i to nie zadziałało.

w raporcie przychodzi mi następująca wiadomość:

Wykonanie zadania: Kończące się ogłoszenie


Na standardowym wyjściu programu nie było żadnych danych.

Wyjście błędów programu:


Looking up twojadomena.pl
Making HTTP connection to twojadomena.pl
Sending HTTP request.
HTTP request sent; waiting for response.
HTTP/1.1 302 Found
Data transfer complete
HTTP/1.1 302 Found
Using https://twojadomena.pl/cron/announcements/e...ring/token-cron
Looking up twojadomena.pl
Making HTTPS connection to twojadomena.pl

lynx: Can't access startfile http://twojadomena.pl/cron/announcements/expiring/token-cron

zastąpiłem tylko dane twojadomena.pl oraz właściwy token crona.

Bardzo proszę o pomoc!
ohm
A przez wget lub curl? zeby przez crona lynxem sie bawic, to peirwszy raz widze wink.gif
bkurylowicz
Jako, że raczkuje w tym temacie ( po prostu zajmuje się troszkę czymś innym) może na moim przykładzie mógłbyś napisać gotowa komendę jaka mam wpisać w harmonogram zadań? Nie wiem jak to zrobić przez wget ani curl sad.gif dostałem tylko instrukcje, wiedzy z tego zakresu nie mam.
ohm
wget -qO- https://mojadomena.pl/cron/announcements/expiring/token-cron >/dev/null

Jesli masz nieprawidlowy (czyt. jakis wlasny) certyfikat, to muisisz dorzucic --no-check-certificate
bkurylowicz
po pierwsze, dzięki za odpowiedź wink.gif

jaki interpreter powinien być ustawiony? brak, php czy perl?

przed /dev/ ma być ">"? czy to pozostałość po a href?


dane z 19:30

Could not open input file: /home/nazwa_uzytkownika/ftpwget


dodam, że chciałbym korzystać z opcji "Prześlij wynik działania na adres e-mail", piszę to żeby nie bbyło żadnej opcji silent itp tongue.gif
Pyton_000
Zamiast wrzucać pełny adres z http:// to daj adres bezwzględny
Czyli wejdź sobie do miejsca gdzie masz skrypt i odpal sobie coś w tym stylu z innego pliku PHP

var_dump(__FILE__);
i z takiej ścieżki odpalaj zadanie.
bkurylowicz
Cytat(Pyton_000 @ 7.12.2014, 20:53:11 ) *
Zamiast wrzucać pełny adres z http:// to daj adres bezwzględny
Czyli wejdź sobie do miejsca gdzie masz skrypt i odpal sobie coś w tym stylu z innego pliku PHP

var_dump(__FILE__);
i z takiej ścieżki odpalaj zadanie.


No nie do końca zrozumiałem.

Chciałbym jednak, żebyś wiedział, że u mnie nie ma takiego folderu jak expiring w ogóle w plikach, tylko jest to budowane przez moduły. Może to pomoże Ci trafić słowami do mnie biggrin.gif mam natomiast plik cron.php w module annoucements/class/controler/cron.

Zastanawiałem się jednak nad najprostszym rozwiązaniem.

w index.php mam pętlę iF która przekierowuje wszystko na https (jeśli się ją wyłączy, moja komenda cron działa prawidłowo, wynik jest poprawny). co jakby przed tą pętlą dać kolejny warunek if o następującej budowie:

jeżeli trafisz na stronę https://mojadomena.pl/cron/announcements/expiring/token-cron, wejdz przez http, wyłącz https.

czy da się takie coś napisać? nie znam się na języku tym ale z logicznego punktu widzenia, nie powinno być problemu.
ohm
Cytat(bkurylowicz @ 7.12.2014, 18:55:31 ) *
po pierwsze, dzięki za odpowiedź wink.gif

jaki interpreter powinien być ustawiony? brak, php czy perl?

Interpreter czego? Prawdopodobnie brak
Cytat(bkurylowicz @ 7.12.2014, 18:55:31 ) *
przed /dev/ ma być ">"? czy to pozostałość po a href?

Tak, jest to przekierowanie wynikow do /dev/null zeby nie smiecilo
bkurylowicz
dzięki zadziałało exclamation.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.