mennydorges Ha CLI-ből futtatod, akkor minek neked szerver? Vagy add át argumentumként a fájlnevet (php file.php) vagy tett futtathatóvá, és írd ezt a a fájl első sorába: #!/usr/bin/env php.

    meskobalazs Szia hogy kell átadni argumentumként?
    Így próbáltam de semmi.:

    28 16 22 * * vu2003 php /var/www/virtual/domain.hu/ittott/htdocs/index.php?country=HU

    Index file eleje most így néz ki:

    <?php
    #!/usr/bin/env php
    ?>
    <header>

      mennydorges Hát persze, mert ez így hibás. A hashbangnek az első sorban kell lennie:

      #!/usr/bin/env php
      <?php

      #!/usr/bin/env php
      így gondolom.:

      !/usr/bin/env php

      Felhasználó kell a cronba?
      40 16 22 * * vu2003 /usr/bin/php /var/www/virtual/domain.hu/ittott/htdocs/index.php?country=HU

      Vagy elég ez is?

      40 16 22 * * /usr/bin/php /var/www/virtual/domain.hu/ittott/htdocs/index.php?country=HU

        mennydorges A # az kell, mert ez egy megjegyzés, amely a parancsértelmezőnek szól, innen tudja, hogy mivel kell futtatni (De ha a PHP-nek adod át, akkor el is hagyhatod, mint írtam ez csak akkor kell, ha közvetlenül a fájlt hajtod végre.)

        Ez egy sima szkripthívás, csak nem bash vagy python, hanem PHP. Szóval argumentumokat ugyanúgy tudsz átadni, mint bármilyen más szkriptnél:

        php /var/www/virtual/domain.hu/ittott/htdocs/index.php arg1 arg2

        Aztán magában a fájlban simán ki tudod venni őket az $argv-ből:

        echo $argv[1]; // ez kiírja, hogy arg1
        echo $argv[2]; // ez kiírja, hogy arg2

        terminalban próbáltam futtatni erre azt adta vissza:
        Could not open input file:

        /usr/bin/php /var/www/virtual/domain.hu/ittott/htdocs/index.php?country=HU

          mennydorges Valóban nincs ilyen fájl. Miért akarnál URL paramétert átadni? Ez egy sima fájl! Szedd le a végéről, hogy ?country=hu.

          mert kell a php file által egy országot megadni hogy tudja a forrást olvasni adatbázisból.

          Ez a progi alap működése.... 🙁

          Az a baj wgettel meg curllal megy de csak 13 percig.

          Ugye rendes url-el.

            mennydorges Akkor meg ne akard így használni. Előtte hogy használtad az alkalmazást?

            Illetve mit csinál ez a fájl? Az hogy percekig fut nem normális.

            Külföldi szervert béreltem 5 évig. De mivel a server4you xar volt váltottam contabora contabo fogta és lehúzott 45 euróval novemberben akkor vettem itthonra egy minipc-t. egy gigabyte 3000-et beleraktam egy 8gb ramot meg egy ssd-t azt megy december óta mail domainek minden.

            eddig nem tudtam beüzemelni a progit mivel 4 éve raktam fel az előző szerverre. De igen az enyém csak az itthoni szerón még nem tudtam megoldani imscp panel alatt.
            error log:

            [Thu May 12 21:00:01.075916 2022] [proxy_fcgi:error] [pid 1699:tid 140102697182976] (104)Connection reset by peer: [client 192.168.9.9:59876] AH01075: Error dispatching request to : , referer: index.php?admin

            Meg va a teljes cms is mivel cédett program és nem adom ki senkinek. Egyedi és adatbázissal megy csak. Minden saját szerón belül. kívülről el sem tudod érni htaccees és van egy login is hozzá amihez csak egy account van.

            [Sun May 22 17:00:01.202332 2022] [proxy_fcgi:error] [pid 19912:tid 140565052110592] [client 192.168.9.9:59896] AH01067: Failed to read FastCGI header
            [Sun May 22 17:00:01.202436 2022] [proxy_fcgi:error] [pid 19912:tid 140565052110592] (104)Connection reset by peer: [client 192.168.9.9:59896] AH01075: Error dispatching request to :
            [Sun May 22 17:06:59.256389 2022] [access_compat:error] [pid 19912:tid 140565001754368] [client 193.106.191.48:54840] AH01797: client denied by server configuration: /var/www/virtual/domain.hu/ittott/htdocs/

            symfony/console
            Ezzel tudsz franko appokat csinalni amibe azt kupdesz CLI parameternwk amit akarsz. Add hozza composerrel. Ott egy rakat pelda ra a neten.

            Az a baj nem tudom mar mit irtam at anno hogy fusson wgettel rendesen vegig.

              • [törölve]

              • Szerkesztve

              mennydorges
              Attól függ, hogy az /etc/crontab fájlt szerkeszted vagy a crontab -e-vel az user cront.

              Szerkezd meg a php fájlt, hogy a ?country=HU-t ne kelljen megadni és, akkor egyszerűen csak így:
              40 16 22 * * vu2003 /usr/bin/php /var/www/virtual/domain.hu/ittott/htdocs/index.php

              Ha kaphatnánk valami teszt alapot, hogy mi ez, akkor könnyebben tudnánk segíteni. Script tartalma, etc.

              Esetleg még így is tehetsz egy próbát:
              40 16 22 * * vu2003 /usr/bin/php "/var/www/virtual/domain.hu/ittott/htdocs/index.php?country=HU"

              De 99%, hogy ezt a country=HU-t bent a fileban is meg tudod adni.

                mennydorges
                Ugyan mit irtal volna at, az apache2 timeoutjat es a php execution timejat is. Mert a wgettel az apache szerveren keresztul futtatod a scriptet. Aminek aszem 300 sec a default timeoutja. Ugyhogy 5 perc max amit enged. Hiaba lovod ki vegtelenre a php iniben a php idejét.

                [törölve] hali igen ugy nem indul el amit a vegen irtal. Hazaerek szetszedem a kocsit este fele meg megmutatom a 300sec erdekes mert ha bongeszoben futtatom akkot 23 percig csinalja ha cronban 6-7 perc.

                set_time_limit(246060);
                Php file elejere nem lenne jo?