• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odpalenie strony na VPS (NIE ZHOSTOWANIE)

Object Storage Arubacloud
0 głosów
631 wizyt
pytanie zadane 21 października 2020 w PHP przez kordix Gaduła (3,910 p.)
Witam

Chciałbym na VPS odpalić stronę, ale NIE chodzi mi o samo zhostowanie strony, ale tak żeby strona cały czas chodziła i była aktywna w przeglądarce.

Chciałbym zrobić taką appkę kalendarzową która wysyła mi również powiadomienia smsowe albo mailowe.

Chodzi tutaj o triggerowanie wg czasu, z grubsza mam taką wizję że strona cały czas chodzi i odświeża się co jakiś czas i sprawdza jakieś warunki.

Równie dobrze mógłbym mieć cały czas włączonego laptopa podłączonego do sieci i tam odpaloną stronę albo jakieś raspberry pi, aczkolwiek zastanawiam się czy nie idzie wykorzystać do tego VPSa z ubuntu. Chodzi też o to że mam tam tylko konsolę bez interfejsu graficznego.

1 odpowiedź

0 głosów
odpowiedź 21 października 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Trochę nie rozumiem co chcesz zrobić i w jaki sposób. Odpalić stronę czyli chcesz, aby tak jakby uruchomić na VPSie przeglądarkę internetową, na której ta strona będzie zawsze otwarta? Jeśli tak, to nie wiem po co, to brzmi trochę bezsensownie. Jeśli potrzebujesz zrobić np. powiadomienia, to należy to zrobić tak, aby wysyłały się bez względu na działania na samej stronie, apka nie powinna potrzebować do tego przeglądarki. Różne rzeczy mogą się dziać na jakieś akcje wykonywane na stronie, mogą na jakiś kolejkach w tle albo mogą dziać na CRONie i uruchamiać się automatycznie co jakiś czas. Nie ma z tym problemu, aby wykonać akcję nie trzeba mieć otwartej strony, kwestia tylko określenia co i jak.

BTW na VPSie też możesz sobie zainstalować środowisko graficzne, choć raczej się tego nie robi na serwerach i podobnych.
komentarz 21 października 2020 przez kordix Gaduła (3,910 p.)

Odpalić stronę czyli chcesz, aby tak jakby uruchomić na VPSie przeglądarkę internetową, na której ta strona będzie zawsze otwarta?

Dokładnie

Właśnie myślałem o CRONie, ale jeśli appka byłaby napisana w phpie i funkcjonowałaby jako strona internetowa, co ten CRON by robił jak nie odpalenie strony w przeglądarce?

Teraz widzę że rozwiązaniem może być headless chrome

 

 

komentarz 21 października 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Może wyjaśnij w jakim celu chcesz tam odpalić stronę w przeglądarce. Co chcesz uzyskać przez to, że ona by się odpaliła na VPSie w przeglądarce? I potwierdź czy na pewno mówimy o tym, że programujesz własne rozwiązanie, bo ja tak rozumiem, a nie chodzi o odpalenie jakiejś nie Twojej strony, na której chcesz coś zrobić.
komentarz 21 października 2020 przez kordix Gaduła (3,910 p.)
Oczywiście chodzi o moją stronę.

Powiedzmy że mam taką prostą bazę z wydarzeniami

DATA GODZINA OPIS WYSŁANO

Strona co minutę czy ileś się odświeża i robi pętle po wszystkich wydarzeniach ze statusem wysłano na false.  Jeśli aktualny czas przekracza czas danego wydarzenia wysyła się mail/sms i status wysłano robi się na true.

Jeśli miałbym to napisane w phpie to nie widzę tego inaczej jak przez odpalanie strony w przeglądarce.
1
komentarz 21 października 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie ma problemu, aby uruchomić PHP z konsoli. Wystarczy więc przygotować skrypt, który się uruchomi co minutę czy co ileś (to można na CRONie zrobić), sprawdzi co trzeba i zrobi co trzeba, np. wysyła maila ;) Nie ma wtedy rzecz jasna potrzeby, aby zwracał/wyświetlał kod HTML, jak wyświetli to ten się pokaże w konsoli jako tekst.

PHP to nie jest język, który obsługuje przeglądarka. Kod interpretuje interpreter PHP i gdy on jest to może zrobić cokolwiek, w tym np. zwracać kod HTML, który następnie - w uproszczeniu - serwer daje przeglądarce i ta "robi" z tego stronę. Nie ma jednak problemu, aby uruchomić go bez serwera www.
komentarz 21 października 2020 przez kordix Gaduła (3,910 p.)

No dobra, ale jak by wyglądało odpalanie tego skryptu?

Albo inaczej - powiedzmy że chcę odpalić skrypt php bez przeglądarki, już olać tego VPSa, po prostu na Windowsie. Niech to będzie prosta funkcja:

<?php
file_put_contents('test.txt','asdfdsafdsa');
?>

Teraz jedyną opcją jaką widzę jest odpalenie php -S localhost:8000 i wejście - a jakże, przez przeglądarkę - na localhost:8000.

EDIT

Ha, już chciałem sobie wcisnąć jakiegoś curl'a, a rozwiązanie jest proste jak skurwysyn:

php SCIEZKA\index.php

Teraz faktycznie wystarczy odpalić to cronem raz na jakiś czas.

komentarz 21 października 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

Dokładnie tak, wystarczy uruchomienie z konsoli np. przez php skrypt.php i już.

komentarz 1 listopada 2020 przez kordix Gaduła (3,910 p.)

Jednak mam jeszcze coś.

To łatwo idzie odpalić jak masz operację w pojedynczym pliku php.

Co jak korzystam z Laravela i chcę użyć jakiejś metody controllera? Jak podepnę ją pod jakiś route, to coś takiego przejdzie?

php localhost:8000/jakisroute

 

1
komentarz 1 listopada 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie przejdzie. Stwórz własną komendę do artisana, tu jest to opisane - https://laravel.com/docs/8.x/artisan#writing-commands Można łatwo zrobić przyjmowanie parametrów, zapytanie użytkownika i inne. Jak masz coś, co może być uruchamiane i przez stronę i przez konsolę, to przygotuj uniwersalny mechanizm obsługi tego (klasy, funkcje, co tam potrzebujesz) i użyj wtedy tego zarówno w klasie komendy jak i w kontrolerze.
komentarz 1 listopada 2020 przez kordix Gaduła (3,910 p.)
edycja 1 listopada 2020 przez kordix

Dzięki, a wracając do pierwszej konepcji wiecie czemu taki prosty skrypt crona nie działa?

20 13 01 11 0 cp /var/www/test.txt /var/www/test2.txt

EDIT

A mam, 1 zamiast 01 i miałem inaczej czas ustawiony na serwerze

komentarz 1 listopada 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Teoretycznie powinno działać. Dodałeś to do crona jako odpowiedni użytkownik, ma uprawnienia do zapisu w katalogu /var/www? Poszukaj logów, może tam coś będzie.
komentarz 8 listopada 2020 przez kordix Gaduła (3,910 p.)
Już działa, ale mam jeszcze inne pytanie. Da się komende artisana odpalić nie będąc w danym katalogu? Teraz muszę zrobić tak: cd /sciezka/do/projektu, a następnie php artisan zrobcos a da się zrobic coś takiego? /sciezka/do/projekty php artisan zrobcos?
1
komentarz 8 listopada 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

Dlaczego by nie, tam nie ma żadnych czarów - artisan to po prostu nazwa pliku jaki masz w katalogu projektu. Możesz więc robić np. php /sciezka/do/projektu/artisan komenda. Albo cd /sciezka/do/projektu && php artisan komenda też powinno działać.

Podobne pytania

0 głosów
0 odpowiedzi 277 wizyt
pytanie zadane 25 lipca 2018 w C i C++ przez Emil Panecki Bywalec (2,100 p.)
0 głosów
0 odpowiedzi 320 wizyt
pytanie zadane 2 marca 2021 w Sieci komputerowe, internet przez Bakkit Dyskutant (7,600 p.)
–1 głos
1 odpowiedź 498 wizyt
pytanie zadane 28 listopada 2016 w PHP przez Chisorq Obywatel (1,680 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...