nasıl cron bir dosyaya birden fazla komutlar göndermek için?

3 Cevap php

Ben bazı çoklu dinamik parameters.I ana cron dosyasında bir dosyayı yazma sırasında bu parametreleri göndermek istediğiniz sahip bir dosya var. Bu gibi bir şey ->

*/15 * * * * /usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4

Now i tried working this up but my file is not executing. What im concerned about is that how will my php file will fetch these parameters ?? And how will i write this command when there is only 2 parameters to be passes parameter1 and parameter4??? and how will my cron and php will recognoze that which parameter is for which data and all?? please advice!!

3 Cevap

*/15 * * * * "/usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4"

belki ...

also you can pass it as a query string? p1=123&p2=432&p3=456 within the script you can just do a parse_string to convert it into an array...

Bu durumda bu parametreler ile komut $argv dizisi olacak.

Ayrıca içeriği ile yürütülebilir bir dosya yapabilirsiniz:

#!/usr/bin/php
<?
    require('yourscript.php');

Ve çalıştırılabilir chmod +x thisfile ile yapmak. Sadece crontab php yorumlayıcısı için dosya adı geçmek için değil.

Eğer bu komut işi yapma konusunda gitmek gerekir yolu şudur:

Cron Senaryoda her olmak sorgu dizeleri parametrelerini ayarlamak. Örneğin, p1=1234 Parameter1, vs gibi ayarlamak

PHP komut dosyası içinde, içeri geçirilen parametreleri almak için $argv dizi başvurmak gerekir

$ Argv [1] parameter1, $ argv olacaktır [2] benzeri parameter2, ve.

Sen değerden anahtarı ayırmak için patlayabilir komutunu kullanarak hangi hangi parametrelerin tespit edebilirsiniz:

for($x=1; $x < $argc; $x++) {
    list($key, $value) = explode('=', $argv[1]);
    $paramarray[$key] = $value;
}