Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Få crontab til at udføre en php-kommando. Hvordan?

Af Junior Supporter Jace | 24-01-2005 22:11 | 2623 visninger | 23 svar, hop til seneste
Davs Er det muligt at få crontab til at udføre et stykke php-kode, eller kan php kode kun udføres ved at det bliver "kaldt" via en web-browser? Jeg vil gerne have kørt en php-fil en gang hvert minut, uanset om der er besøgende på sitet. Kan det fixes på en måde? Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#1
WaY
Ultra Supporter
24-01-2005 22:24

Rapporter til Admin
1. hvad er crontab ? 2. det er et program der udfører php koden. webbrowseren får bare det php kaster ud som ren html
--
http://way.users.whitehat.dk[...] Jutus fortis tenax est http://h2okoeling.dk[...] Jeg HAR søgt på google før jeg poster her
#2
FreakCERS
Semi Nørd
24-01-2005 22:36

Rapporter til Admin
#0 hvis du har installeret både 'mod_php' (det som webserveren bruger) og 'php' (en Shell Interpreter) kan du adde * 0 0 0 0 php -r 'echo "hello world!";' f.eks...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#3
Xyrouz
Gæst
24-01-2005 22:38

Rapporter til Admin
#1 crontab er "auto-udførelse" af programmer/scripts under Linux ;)
--
Gæstebruger, opret dit eget login og få din egen signatur.
#4
Jace
Junior Supporter
24-01-2005 22:54

Rapporter til Admin
#1 - Crontab er et "program" på linux som kan køre programmer på forskellige tidspunkter... altså lidt ligesom "Scheduled Tasks" under windows. #2 - Okay. Jeg havde egentlig mere noget i retning af dette i tankerne: * 0 0 0 0 php -r stats.php (jeg ved godt at det er skrevet helt forkert men jeg håber du forstår hvad jeg mener) :D Så jeg bare skriver min php-side som normalt, og så får php-enginen (eller hvad den nu hedder) på serveren til at køre den fil. Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#5
FreakCERS
Semi Nørd
25-01-2005 00:02

Rapporter til Admin
hvis du vil køre en fli er det `php -f file.php` ikke -r
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#6
Jace
Junior Supporter
25-01-2005 09:02

Rapporter til Admin
#5 - Okay, mange tak for det... ved du om man også kan det når man står i en bash prompt? - altså bare skrive "php -f file.php" og så kører en php fil, nøjagtig som hvis den blev kørt fra en webbrowser? Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#7
Anders Kusk
Ultrabruger
25-01-2005 09:35

Rapporter til Admin
#6 Hvis dine bin dirrectoriess også peger mod dem hvor php programmet ligger i ser jeg ingen hindring?
--
Anders Kusk - http://a.impsoft.dk[...] - UIN: 126380153 Once I'm in motion I become an unstoppable bulging locomotive crammed full of pastries and urine.
#8
Jace
Junior Supporter
25-01-2005 09:56

Rapporter til Admin
#7 - Okay, men hvordan tjekker jeg at de gør det? :)
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#9
FreakCERS
Semi Nørd
25-01-2005 14:32

Rapporter til Admin
#6 det burde du kunne, ja... #8 hvis du vil se om et program ligger i din PATH, kan du køre `which [executable]` altså i dette tilfælde: `which php`...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#10
BetteSvin
Megabruger
25-01-2005 18:40

Rapporter til Admin
Heysa... Jace her! #9 - Jeg tror ikke jeg har forstået dig korrekt for 'which php' giver intet output? Jace:~# which php Jace:~# Bruger jeg den korrekt? Mvh Jace
--
"If you shake it more than twice, your playing with it!" "trying is the first step towards failure"
#11
FreakCERS
Semi Nørd
25-01-2005 19:00

Rapporter til Admin
#10 det lyder pænt underligt... den bør i det mindste printe en fejl hvis den ikke kan finde den executable... her er et eksempel fra min bærbare: cers@lucy ~ $ which php /usr/bin/php cers@lucy ~ $ which hph which: no hph in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.2.01/bin:/opt/blackdown-jdk-1.4.2.01/jre/bin:/usr/qt/3/bin:/usr/kde/3.3/bin:/usr/kde/3.2/bin:/usr/kde/3.1/bin:/usr/games/bin:/home/cers/spool/hla/) hvilken linux-distribution (og version) kører du?
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#12
Jace
Junior Supporter
25-01-2005 23:09

Rapporter til Admin
#11 - Jeg kører debian, i den version som hedder "sarge" eller "testing" om man vil :) Alle relevante info om mit system kan ses her: http://jace.overload.dk[...] Håber det kan hjælpe. Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#13
Jace
Junior Supporter
25-01-2005 23:50

Rapporter til Admin
Jeg kan lige tilføje at jeg har prøvet at køre en php-fil fra bash: jace@Jace:/var/www$ php -f counter.php -bash: php: command not found Måske det også kan hjælpe lidt til at se hvad problemet er? Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#14
nfogh
Gæst
25-01-2005 23:55

Rapporter til Admin
#13 Det er nok fordi php ikke er i din path, prøv at skrive hele stien til kommandoen i stedet. Du kan finde den vha. locate.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#15
FreakCERS
Semi Nørd
26-01-2005 00:09

Rapporter til Admin
#13 problemet er jo nok at php slet ikke er installeret (kun mod_php) #14 hvis php bare ikke er i path, bør der komme en fejl som den su kan se i #11 ... locate virker desuden kun hvis updatedb er blevet kørt (og siden php blev installeret) - hvilket ikke er en selvfølge...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#16
Jace
Junior Supporter
26-01-2005 00:28

Rapporter til Admin
#15 - Jeg har prøvet at skrive "which hph" - den giver heller ingen fejl... så jeg ved ikke om det er min "which" kommando der ikke helt virker? Jeg kørte lige "updatedb" og "locate php" - Men den giver desværre en ordentlig bunke resultater... Jeg kan godt se dem som ligger under /etc/ ved f.eks. at bruge "locate php | head" - men hvad er det præcis jeg leder efter? Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#17
FreakCERS
Semi Nørd
26-01-2005 00:55

Rapporter til Admin
#16 har lige søgt mig frem til at pakken 'php' kommer fra hedder 'php4-cli' så apt-get den ind... http://packages.debian.org[...]
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#18
Jace
Junior Supporter
26-01-2005 23:09

Rapporter til Admin
#17 - Okay, det virkede! Der er bare lige et problem. Det virker som om den ikke kan finde ud at include-funktionen. Jeg har prøvet at køre den velkendte <?php phpinfo(); ?> og den virker fint - giver i hvert fald en masse output på skærmen. Men når jeg så prøver at køre den fil som jeg gerne vil have kørt, så giver den denne fejl: php -f index.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Fatal error: Call to undefined function: mysql_connect() in /var/www/includes/mysql.php on line 3 Kan man ordne det, så den også kan klare php-filer som bruger include? Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#19
FreakCERS
Semi Nørd
26-01-2005 23:19

Rapporter til Admin
det er nok nærmere et tilfælde af at den binære pakke som debian installerer ikke er kompileret med mysql-support - jeg kører selv gentoo, hvor man selv kompilerer programmerne, så der vælger man selv hvad der skal support for - debian har vel også en form for source-install hvor man kan vælge sådan noget, men det ved jeg ikke hvordan fungerer...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#20
Jace
Junior Supporter
26-01-2005 23:23

Rapporter til Admin
Okay, men hvis du selv compiler den php-pakke, så kan jeg jo bare gøre det samme på min debian. Med mindre det foregår på en bestemt måde som kun virker på gentoo?
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#21
FreakCERS
Semi Nørd
26-01-2005 23:32

Rapporter til Admin
#20 i gentoo bruger man et specielt pakkesystem hvor emerge bruger ebuild-filer som bliver distribueret via portage... jeg kører selv PHP5.0.2, så options er garanteret lidt anderledes, men her er den configure emerge kører for mig: ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datad ir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-cgi --enable-cli --enable-embed --with-config-file-path=/etc/p hp/cli-php5 --disable-bcmath --without-bz2 --enable-calendar --without-cpdflib --disable-ctype --without-curl --without-curlwra ppers --disable-dbase --disable-dio --disable-exif --with-fam --without-fbsql --without-fdftk --disable-filepro --disable-ftp --with-gettext --without-gmp --without-hwapi --without-iconv --without-informix --without-ingres --without-interbase --enabl e-mbstring --with-mcrypt --without-mcve --disable-memory-limit --without-mhash --without-mime-magic --without-ming --without-mn ogosearch --without-msql --without-mssql --with-ncurses --without-oci8 --without-oracle --with-openssl --with-openssl-dir=/usr --without-ovrimos --disable-pcntl --without-pcre-regx --without-pfpro --without-pgsql --disable-posix --with-pspell --without -recode --disable-simplexml --disable-shmop --without-snmp --disable-soap --disable-sockets --disable-spl --without-sybase -- without-sybase-ct --disable-sysvmsg --disable-sysvsem --disable-sysvshm --without-tidy --disable-tokenizer --disable-wddx --wit hout-xsl --without-xmlrpc --disable-yp --with-zlib --disable-debug --without-cdb --with-db4 --without-dbm --without-flatfile --with-gdbm --without-inifile --without-qdbm --with-jpeg-dir=/usr --with-freetype-dir=/usr --with-t1lib=/usr --with-ttf=/usr --enable-gd-jis-conf --enable-gd-native-ttf --with-png-dir=/usr --with-tiff-dir=/usr --without-xpm-dir --with-gd --with-ldap -- without-ldap-sasl --with-mysql --with-mysql-sock=/var/run/mysqld/mysqld.sock --without-mm --without-msession --without-sqlite --e nable-dba --with-readline --without-libedit så hvis du får fat i sourcen, udpakker den, og går ind i dens dir, burde du kunne installere den ved at køre følgende: ./configure [mange options jeg pastede før] make make install og så skulle det virke - jeg har dog ikke meget erfaring med at kompilire programmer i debian, så en debian-bruger må lige bryde ind hvis det fungerer meget anderledes der...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr
#22
Jace
Junior Supporter
26-01-2005 23:57

Rapporter til Admin
#21 - Okay. Ud fra de erfaringer jeg har med at compile under debian så fungerer det ligesom du beskriver det der... Jeg vil dog gerne lige høre et par ting inden jeg kaster mig ud i det: 1. Skal jeg afinstallere php4, inden jeg går igang med php5 ? 2. Vil alle mine php-dokumenter stadig virke under php5 ? (De er jo skrevet til php4, men jeg ved ikke hvor meget der er ændret i php5) Mvh Jace
--
Hvis man skal gøre noget, så skal man gøre det ordentligt, ellers skal man lade være...
#23
FreakCERS
Semi Nørd
27-01-2005 15:42

Rapporter til Admin
#22 i gentoo kan man have begge inde samtidig uden probelmer, men det skader nok ikke at fjerne php4 først (du kan jo altid installere det igen hvis du ikke kan få det andet til at virke) alt der virker i php4 bør stadig virke i php5 - meget få ting er 'ændret', der er mere tale om tilføjelser og fejlrettelser...
--
The opposite of a correct statement is a false statement. But the opposite of a profound truth may well be another profound truth. -- Niels Bohr

Opret svar til indlægget: Få crontab til at udføre en php-kommando. Hvordan?

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning