- Status
- Brak możliwości dodawania odpowiedzi.
Rozwiązanie
Udało się rozwiązać ten problem 
użyłem wpisu:
i poprawiłem błędy w testowym pliku zapis_cron.php bo one blokowały działanie. Spróbowałem dodać dane do bazy qsl by sprawdzić taką opcję no i zadziałało
. Co 10 minut pojawiał się nowy rekord. Nie dało mi spokoju, co takiego błędnego było w poprzednim kodzie i doszedłem
powody bardzo prozaiczne teraz jak już wiem jakie.
Przed użyciem
Drugi błąd to podanie ścieżki do pliku txt, ja użyłem standardowo
użyłem wpisu:
*/10 * * * * /usr/local/apache/bin/php /share/Web/zapis_cron.phpi poprawiłem błędy w testowym pliku zapis_cron.php bo one blokowały działanie. Spróbowałem dodać dane do bazy qsl by sprawdzić taką opcję no i zadziałało
Przed użyciem
date('Y_m_d'); należało zdeklarować strefę czasową date_default_timezone_set("Europe/Warsaw"); Drugi błąd to podanie ścieżki do pliku txt, ja użyłem standardowo
$sciezka = "test/dane.txt"; a należało podać bezwzględną$sciezka =...to pobierze plik/usr/local/bin/wget -q
zakładając że ścieżka do binarki php jest poprawna .. wykona w shellu w/w plik php./usr/local/apache/bin/php /share/Web/zapis_cron.php
skąd zaczytałeś ścieżkę do binarki PHP ?
co robi ten skrypt php ? ogólnie
Plik tymczasowo zapisuje godzinę, ale docelowo ma zapisywać dane z stacji pogody.
ciągniemy za językskąd zaczytałeś ścieżkę do binarki PHP ?
czy plik odpalony w shellu za pomocą tego 2. polecenia wykonuje się poprawnie ?
Plik php napisałem sam w RJ txtEd
Jeżeli otworze go w przeglądarce to działa i towoty plik txt z datą i godziną (to tak tymczasowo)
jak zrobić by automatycznie uruchamiał się.
Jeżeli otworze go w przeglądarce to działa i towoty plik txt z datą i godziną (to tak tymczasowo)
jak zrobić by automatycznie uruchamiał się.
" /usr/local/apache/bin/php" znalazłem podobny wpis na forum i trochę kombinowałem
Rozwiązany - Harmonogram Cron dla pliku php
Rozwiązany - Harmonogram Cron dla pliku php
Tak
PHP 5.6.40 (cli) (built: Dec 12 2021 13:25:54)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
PHP 5.6.40 (cli) (built: Dec 12 2021 13:25:54)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Ostrzeżenie: date(): poleganie na ustawieniach strefy czasowej systemu nie jest bezpieczne. *Musisz* użyć ustawienia date.timezone lub funkcji date_default_timezone_set(). Jeśli użyłeś którejkolwiek z tych metod i nadal otrzymujesz to ostrzeżenie, najprawdopodobniej błędnie wpisałeś identyfikator strefy czasowej. Na razie wybraliśmy strefę czasową „UTC”, ale ustaw date.timezone, aby wybrać swoją strefę czasową. w /share/HDA_DATA/Web/zapis_cron.php w linii 3
Ostrzeżenie: date(): poleganie na ustawieniach strefy czasowej systemu nie jest bezpieczne. *Musisz* użyć ustawienia date.timezone lub funkcji date_default_timezone_set(). Jeśli użyłeś którejkolwiek z tych metod i nadal otrzymujesz to ostrzeżenie, najprawdopodobniej błędnie wpisałeś identyfikator strefy czasowej. Na razie wybraliśmy strefę czasową „UTC”, ale ustaw date.timezone, aby wybrać swoją strefę czasową. w /share/HDA_DATA/Web/zapis_cron.php w linii 8
Ostrzeżenie: fopen(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w linii 12
Ostrzeżenie: filesize(): statystyka nie powiodła się dla test/2022_04_19.txt w /share/HDA_DATA/Web/zapis_cron.php w linii 13.
Ostrzeżenie: fread() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w linii 13.
Ostrzeżenie: fopen(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w wierszu 19
Ostrzeżenie: fputs() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w wierszu 22.
Ostrzeżenie: fclose() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w wierszu 25
Ostrzeżenie: plik(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w wierszu 27
Ostrzeżenie: implode(): Nieprawidłowe argumenty przekazane w /share/HDA_DATA/Web/zapis_cron.php w wierszu 27
15_51_58
[~] # /share/Web//test/2022_04_19.txt
-sh: /share/Web//test/2022_04_19.txt: Permission denied
[~] #
Ostrzeżenie: date(): poleganie na ustawieniach strefy czasowej systemu nie jest bezpieczne. *Musisz* użyć ustawienia date.timezone lub funkcji date_default_timezone_set(). Jeśli użyłeś którejkolwiek z tych metod i nadal otrzymujesz to ostrzeżenie, najprawdopodobniej błędnie wpisałeś identyfikator strefy czasowej. Na razie wybraliśmy strefę czasową „UTC”, ale ustaw date.timezone, aby wybrać swoją strefę czasową. w /share/HDA_DATA/Web/zapis_cron.php w linii 8
Ostrzeżenie: fopen(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w linii 12
Ostrzeżenie: filesize(): statystyka nie powiodła się dla test/2022_04_19.txt w /share/HDA_DATA/Web/zapis_cron.php w linii 13.
Ostrzeżenie: fread() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w linii 13.
Ostrzeżenie: fopen(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w wierszu 19
Ostrzeżenie: fputs() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w wierszu 22.
Ostrzeżenie: fclose() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w /share/HDA_DATA/Web/zapis_cron.php w wierszu 25
Ostrzeżenie: plik(test/2022_04_19.txt): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /share/HDA_DATA/Web/zapis_cron.php w wierszu 27
Ostrzeżenie: implode(): Nieprawidłowe argumenty przekazane w /share/HDA_DATA/Web/zapis_cron.php w wierszu 27
15_51_58
Połączono posty:
[~] # /share/Web//test/2022_04_19.txt
-sh: /share/Web//test/2022_04_19.txt: Permission denied
[~] #
no to skrypt nie zadziałał poprawnie - popraw błędy
najgorsze że nie zapisał pliku na końcu ?
najgorsze że nie zapisał pliku na końcu ?
Dziękuję za pomoc, przynajmniej dowiedziałem się dlaczego i nauczyłem się jak korzystać z wiersza poleceń, sprawdzać poprawność kodu php 
Dziwi mnie to zachowanie skryptu php bo jak otworze w przeglądarce to zapisuje i otwiera się
Połączono posty:
Dziwi mnie to zachowanie skryptu php bo jak otworze w przeglądarce to zapisuje i otwiera się
Deweloperem PHP to raczej nie jesteś ?Dziwi mnie to zachowanie skryptu php bo jak otworze w przeglądarce to zapisuje i otwiera się
Twój model QNAP to TS-110 , masz tam stare PHP 5.6 , czy pisałeś skrypt pod tą wersję ?
Czy skrypt zakłada że robi pliki we właściwym miejscu ? Czy ścieżki są poprawne ?
Wracając do głównego tematu:
Bash:
nano /etc/config/crontab
zapisz zmiany
Bash:
crontab /etc/config/crontab && /etc/init.d/crond.sh restart
gdybyś miał nasa na CPU Intela/AMD - to powiedziałbym zainstaluj Qnapclub Store: WebCrontab i edytuj .. no ale masz co masz.
Tak myślałem ze muszę dodać 2 opcje. Po wykomentowaniu kodu php w pliku zapis_cron.php nie ma błędów no ale nie zapisuje danych do .txt.
Spróbuje zrobić zapis do bazy i zobaczę.
Już dotarłem do tej strony
niestety mam tylko Ts112 (bo tu nie było takiej opcji więc wybrałem Ts110).
Mam plan zmienić bo tego mam już ponad 10 lat
myślałem o Ts 251D
Wielkie Dzięki za pomoc jak mi się uda to odezwę się
Spróbuje zrobić zapis do bazy i zobaczę.
Już dotarłem do tej strony
Mam plan zmienić bo tego mam już ponad 10 lat
myślałem o Ts 251D
Wielkie Dzięki za pomoc jak mi się uda to odezwę się
Udało się rozwiązać ten problem 
użyłem wpisu:
i poprawiłem błędy w testowym pliku zapis_cron.php bo one blokowały działanie. Spróbowałem dodać dane do bazy qsl by sprawdzić taką opcję no i zadziałało
. Co 10 minut pojawiał się nowy rekord. Nie dało mi spokoju, co takiego błędnego było w poprzednim kodzie i doszedłem
powody bardzo prozaiczne teraz jak już wiem jakie.
Przed użyciem
Drugi błąd to podanie ścieżki do pliku txt, ja użyłem standardowo
trochę mnie to zdziwiło.
użyłem wpisu:
*/10 * * * * /usr/local/apache/bin/php /share/Web/zapis_cron.phpi poprawiłem błędy w testowym pliku zapis_cron.php bo one blokowały działanie. Spróbowałem dodać dane do bazy qsl by sprawdzić taką opcję no i zadziałało
Przed użyciem
date('Y_m_d'); należało zdeklarować strefę czasową date_default_timezone_set("Europe/Warsaw"); Drugi błąd to podanie ścieżki do pliku txt, ja użyłem standardowo
$sciezka = "test/dane.txt"; a należało podać bezwzględną$sciezka = "/share/Web/test/dane.txt";
$stareDane = fread($fp, filesize($sciezka));trochę mnie to zdziwiło.
Rozwiązanie
albo zmienić katalog gdzie to pracuje za pomocąnależało podać bezwzględną
chdir strefę czasową dla PHP - możesz ustawić w pliku php.ini
pliki txt są passe, żyjemy w czasach JSON'a
ale działa i to najważniejsze, dużo się nauczyłeś.
Stefę czasową w php.ini mam ustawioną i to mnie też zdziwiło. Pisanie w php i js to moje takie poboczne hobby, nie zawsze mam czas na zgłębianie wiedzy. Są momenty że chce dodać coś nowego na stronę i wtedy działam i męczę się. Dziękuję z a pomoc.
- Status
- Brak możliwości dodawania odpowiedzi.
Podobne tematy
- Artykuł
- Odpowiedzi
- 0
- Wyświetleń
- 141
- Artykuł
- Odpowiedzi
- 0
- Wyświetleń
- 110
- Artykuł
- Odpowiedzi
- 0
- Wyświetleń
- 165
- Artykuł
- Odpowiedzi
- 0
- Wyświetleń
- 104
- Artykuł
- Odpowiedzi
- 0
- Wyświetleń
- 148
Użytkownicy znaleźli tą stronę używając tych słów:
- cron