Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP-skriptin suoritus palvelimella tiettynä kellonaikana

Sivun loppuun

Burton [10.05.2009 23:07:55]

#

Moikka!

Harjoittelen ahkerasti PHP-kieltä ja tarvitsisin harjoitustyössäni keinoa, jolla palvelin ymmärtäisi ajaa skriptejä itsekseen tiettyinä kellonaikoina. Miten tämä onnistuu?

Marbo [10.05.2009 23:16:31]

#

Mikä käyttöjärjestelmä on alla? Jos on linux niin crontab.

Burton [10.05.2009 23:26:41]

#

Eli jos en voi asennella palvelimelle mitään, tämä ei onnistu? Ei nimittäin ole minun palvelimeni vaan palveluntarjoajan.

Antti Laaksonen [10.05.2009 23:36:19]

#

Täytyykö skripti suorittaa nimenomaan kello X vai kello X:n jälkeen? Jälkimmäisessä tapauksessa skriptin voi suorittaa, kun ensimmäinen kävijä vierailee sivustolla kello X:n jälkeen.

Yllä oleva keino voi tulla kysymykseen, jos kello X jotain pitää muuttua sivustolla. Silloin ei tietenkään haittaa, jos muutos tapahtuu vasta, kun ensimmäinen kävijä saapuu paikalle. Jos kuitenkin pitää lähettää sähköposti tms. tasan kello X, tämä järjestely ei onnistu.

Burton [10.05.2009 23:41:19]

#

Tehtävänä olisi kansion tyhjentäminen sanotaan vaikka joka päivä kello 12. Jos tyhjennyksen lisäisi tavallisten käyttäjien normaalin surffailun sekaan, eikö se aiheuttaisi odottamattomia tuloksia? Puhun nyt siis kello X:n jälkeen tapahtuvasta skriptin suorittamisesta.

Antti Laaksonen [10.05.2009 23:48:46]

#

Kuinka kauan kansion tyhjennys vie aikaa? Jos siinä menee sekunnin murto-osa, käyttäjä tuskin huomaa mitään. Muuta ongelmaa tuossa ei mielestäni ole.

eq [11.05.2009 00:25:07]

#

Burton kirjoitti:

Eli jos en voi asennella palvelimelle mitään, tämä ei onnistu? Ei nimittäin ole minun palvelimeni vaan palveluntarjoajan.

Tämä riippuu tietysti siitä, onko cron-daemon asennettuna ja toiminnassa kyseisellä palvelimella (kuten usein on) - ja jos on, ei palvelimelle luonnollisesti tarvitse asentaa mitään.

On suhteellisen epätavallista, että palvelimelle, jolle on käyttöoikeus, ei voi asentaa mitään (edes omaan kotikansioonsa; tämä riippuu toki käyttöoikeuden laadusta) - cron-ajastuksiahan voi tavallaan säätää vaikka PHP-skriptillä.

Burton [11.05.2009 01:19:55]

#

No joo, tyydyin Antin ehdottamaan ratkaisuun eli kansion tyhjentämiseen, kun seuraava henkilö kirjautuu. Lisäsin siihen myös oman vivahteen.

Kiitos avusta!

Olli [11.05.2009 09:34:58]

#

Jos serveriltä löytyy Plesk (kuten Suncometilta), voit suorittaa tehtävän helposti. PHP:n Cronilla onnistuu ja se on yleensä asenettuna. (Plesk vaan hyödyntää cronia).

1. Kirjaudu Pleskiin sisään.
2. Paina Ajastetut tehtävät (herätyskellon kuva).
3. Paina taulukossa ensimmäisenä olevaa nimeä.
4. Paina "Schedule a Task For ...." (.... = sinun domainosoitteesi).
5. Kirjoita Minuutti- ja Tunti -kohtiin haluamasi arvot.
6. Kirjoita Kuukauden päivä -kohtaan * ja kirjoita Kuukausi -kohdan Anna arvo -kohtaan *.
7. Kirjoita Viikonpäivä -kohdan Anna arvo -kohtaan *.
8. Kirjoita Komento -kohtaan /usr/bin/php-cgi .... (.... = polku tiedostoon, joka suoritetaan. Siihen täytyy laittaa myös public_html tai httpdocs, riippuen serveristäsi.).
9. Paina OK.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta