Conjobausführung - php Skript mit curl()

  • hey Leute,
    ich stoße grad an meine Grenzen und bin mit den Nerven am Ende. Schon seit 6h versuche ich genau nur einen Fehler zu fixen -.-


    Und zwar, klingt recht simpel, ich möchte eine php-Datei auf meinem Server per Cronjob ausführen.


    Cronjob soweit richtig erstellt, nur an der Ausführung hackts (ebenso Manuelle, mit welcher ich grad ständig teste)


    In der php-Datei führ ich nen curl-Befehl aus, das wars eigentlich schon..


    So, jetzt zu meinen Szenarien.


    Cronjob via php_cli ausführen
    Wäre zu schön um wahr zu sein, führt mein Skript nicht aus und spuckt Fehlermeldungen ala Modul für xcache nicht geladen und dann noch memory limit zu niedrig aus.
    Ersteres ist kein Thema, entfern ich das Modul, klappt alles wunderbar. Bei dem momory limit, kann ich auch fixen, indem ich eine php.ini in /etc/php5/conf.d/ erstelle und die mit den Configs fülle..
    Klappen tuts dann trotzdem nicht wirklich. Führt zwar die Datei aus, aber nicht meinen curl.


    php -n klappt ebenso nicht, da spuckt der mir dann Fatal error aus wie zb
    Call to undefined function mysql_connect()
    oder auch
    Call to undefined function fopen()


    Was auch immer



    Cronjob via curl ausführen
    Zweite Alternative, die Datei über das Internet ausführen. Scheitert leider ebenso -.- Ich vermute, dass das an den curl-Befehlen in der php liegt. Dürfte aber eigentlich nicht der Fall sein?



    Wüste jemand an was das liegt und könnte mir helfen? Eventell sagen, wo die config-files für php_cli liegen etc.?


    Vielen Dank,
    Ninos

    Edited once, last by mafioso ().

  • kommt drauf an in welcher php.ini, die für die Domain jup, sonst würde das Skript überm Browser ja nicht laufen. bei der php -n wohl weniger, weil der sich an ner anderen php.ini bedient... Finds nur äußerst seltsam, dass es selbst über wget oder Sonstiges nicht klappt, denn eigentlich sollte ja die Datei ganz normal ausgeführt werden :/

  • Hi Ninos


    Ich mach das jeweils etwa so, ein Beispiel:


    Code
    1. */3 * * * * vu2006 /usr/bin/php5 /var/www/virtual/domain6.tld/htdocs/typo3conf/ext/direct_mail/res/scripts/dmailerd.phpcron > /dev/null


    oder dann

    Code
    1. */5 * * * * vu2097 wget -q -O /dev/null http://www.domain97.tld/admin/cron.php


    Also via wget eine URL aufrufen. Die erste Variante hat den Vorteil, dass die PHP-Datei nicht "von aussen" erreichbar sein muss.
    Die zweite Variante kann man auch gut via Browser testen... ist sicher der einfachste Weg.


    Gruss
    Joxi

  • ich werde im Laufe der Tage beide Varianten ausprobieren, habe eventuell wirklich nur den User davor vergessen hehe


    Danke,
    Ninos

  • Danke für den Denkanstoß, joximu, wollte dies auch intern machen, aber mir ist aufgefallen, dass man die binäre Datei noch dazwischen hängen muss, habe übrigens Drupal drauf wo der Cron auch intern laufen darf :D


    Vielleicht sollte man auch eine Tut-Kategorie erstellen, die nicht unbedingt mit i-MSCP zu tun hat, dies wäre zumindest eine kleine Gedächtnisstütze und würde auch vorher schon einige Fragen beantworten :)

    Edited once, last by Paderman ().