Toon posts:

[PHP] Commandline scripts / daemons

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om een PHPtje via de command line te laten parsen, ook is het belangrijk dat het nooit een timeout krijgt - het moet dus in principe niet meer stoppen nadat het gestart is.

  • sdomburg
  • Registratie: Augustus 2001
  • Laatst online: 03-09-2024
1. Lekker duidelijke titel
2. Lekker duidelijke vraag
3. Lekker duidelijke specs
4. Waarom NOS

Verwijderd

Topicstarter
Hmm de titel is idd fout gegaan, niet mijn fout(blame it on the forum)

Of er via de commandline een PHPtje gestart kan worden dat niet timeout..

Specs: Linux, Suse7.3 PHP 4.2.1


Beter zo?!.. _zucht_

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Ja, je kunt een php bestand op de commandline laten parsen.
Waarom zou er een time-out moeten optreden? Beschrijf de situatie eens wat uitgebreider....

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ja, is mogelijk.
CGI-versie van php met set_timeout

Verwijderd

Topicstarter
De situatie is als volgt:

Ik ben een 'msn bot' aan het coden in PHP, deze moet binnenkort de ServerStats van mijn server(s) gaan weer geven via het MSN protocol.

Het .php'tje moet 1keer gestart worden en dan blijven draaien -
vandaar mag er geen timeout optreden in het hele zaakje

Hoop dat de boel nu wat duidelijker is
sorry voor 't vage gedoe, ben er door 'omstandigheden' niet helemaal bij - maarja life must go on

[ Voor 0% gewijzigd door Verwijderd op 28-08-2002 20:03 . Reden: verduidelijking ]


  • Expander
  • Registratie: Februari 2001
  • Niet online
Hmm, ik zou dit eerder in Java oplossen, dan kan je gewoon een Thread laten lopen. Bovendien lijkt Java op PHP en kan het minstens even veel, zeker op dit gebied.

Expanding the inexpandable


Verwijderd

Topicstarter
De optie om voor Java te kiezen zie ik op het moment niet zitten - Houd het voor nu even liever bij PHP dan iets anders.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 01:05
Voor zover ik weet kan PHP alleen een pagina parsen en wat zooi uitvoeren op een systeem, wat troep in een database zetten, troep uploaden op FTP, etc. Als het script aan z'n eind is, is ie klaar. Lijkt me niet dat je er een Daemon van kunt maken, tis geen Perl.

  • Steije
  • Registratie: Juni 2000
  • Laatst online: 21-05 15:58
_JGC_ schreef op 28 augustus 2002 @ 21:56:
Voor zover ik weet kan PHP alleen een pagina parsen en wat zooi uitvoeren op een systeem, wat troep in een database zetten, troep uploaden op FTP, etc. Als het script aan z'n eind is, is ie klaar. Lijkt me niet dat je er een Daemon van kunt maken, tis geen Perl.
Het kan wel, maar het is misschien niet zo mooi.

Als je een beetje met sleep() overweg kan moet het wel lukken om een PHP-daemon te maken.

Some people manage by the book, even though they don't know who wrote the book or even what book.


Verwijderd

Je hebt ook een binary voor dat gedoe. Ik kan bv php /var/www/bla.php doen, en dan geeft ie netjes de output.

Maar je kan bv ook: lynx http://localhost/bla.php 1> /dev/null 2> /dev/null doen. Dat doet hetzelfde :)

  • Wilke
  • Registratie: December 2000
  • Laatst online: 21:22
Verwijderd schreef op 28 augustus 2002 @ 19:51:
Hmm de titel is idd fout gegaan, niet mijn fout(blame it on the forum)
Nahh...blame the user...tot het tegendeel bewezen is. Er staan al aardig wat prima kloppende topictitels in React, dus :)

Als het goed is kun je gewoon intypen (op de commandline of een script): 'php <eenofanderephpfile.php>'.

Vraag ik me alleen af: waarom een PHPtje dat je maar een keer start (hoe zie jij dat gaan werken)? Waarom roep je niet periodiek het script aan dat die info naar MSN stuurt? Of, als je het moet kunnen 'aanvragen' (en de 'server' dus de hele tijd moet luisteren), waarom programmeer je dit dan uberhaupt in PHP, lijkt me nou niet de taal bij uitstek om zoiets in te coden...

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 01:05
Ik zou het in Java, Perl of C doen, niet in PHP.
Maar ja, wie ben ik :P

Verwijderd

_JGC_ schreef op 28 augustus 2002 @ 21:56:
Voor zover ik weet kan PHP alleen een pagina parsen en wat zooi uitvoeren op een systeem, wat troep in een database zetten, troep uploaden op FTP, etc. Als het script aan z'n eind is, is ie klaar. Lijkt me niet dat je er een Daemon van kunt maken, tis geen Perl.
code:
1
2
3
4
5
6
7
8
<?
$i = 1;
while($i != 0) {
  blablablabla
  sleep(10);
  $i++;
}
?>


die blijft wel ff draaien hoor. Ik heb me nameserver admin in php geschreven en me daemon draait al 3 maanden zonder problemen.

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 19:32

Kees

Serveradmin / BOFH / DoC
PHP:
1
2
3
4
5
6
7
8
9
#!/usr/local/bin/php -q
<?
set_time_limit(0);
while (1) {

..
code
..
?>


-q onderdrukt output van headers en zut
php voor de commandline compileren: laat alle --with-apache --with-apxs weg
set_time_limit(0); == tijdslimiet op 0 zetten
while lus = je lus zodat hij niet stopt

In principe kan PHP dit prima doen, maar as said, er zijn betere talen te bedenken :)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Verwijderd

Topicstarter
Om de vraag te beantwoorden die jullie allemaal stellen "Waarom codeer je deze hele zooi niet in een andere taal" - Simpel, omdat ik geen andere taal kan(op 't moment nog niet temisnte) er omdat ik er op het moment nog moet achter komen hoe ik connecties maar met een netwerk(Windows is dat winsock, maar Linux :?)

Ik ben 'druk' bezig met het leren van andere talen maar op het gebied van programmeren ben ik nou niet een van de beste, en het is ook niet een van mijn hobbies.

Dus in principe moet ik dus nogsteeds info hebben hoe ik van een PHPtje een 'deamon' kan maken.

Ik zal morgen die info van Magio een proberen.

Dank aan een mod die de Titel van dit threadje heeft verandert! _/-\o_
Pagina: 1