2016-06-20 8 views
3

Ich möchte einen Cronjob für PHP-Skript für alle 2 Minuten in meinem Ubuntu-Rechner für diese ich den folgenden Link als Referenz gefunden habe, aber ich bekomme folgenden Fehler und ich bekomme nicht es, wie man diesen Fehler auflöst.Wie Cron-Job für PHP-Skript in Ubuntu

Link-Referenz setzen cronjob

https://askubuntu.com/questions/177971/how-can-i-set-up-a-php-script-to-run-via-cron

Erster Fehler: , wenn ich ein PHP-Skript mit der Befehlszeile ausführen ich diesen Fehler Fatal error bekommen haben: Call to undefined function mysql_connect() in /opt/lampp/htdocs/ezypayzy/cronjob.php in Zeile 2. Aber wenn ich dieses Skript im Browser laufen, funktioniert es gut. Ich weiß nicht, wie ich das lösen soll.

Befehl für PHP-Skript: PHP /opt/lampp/htdocs/ezypayzy/cronjob.php

Zweiter Fehler: , wenn ich einen Cronjob Befehl auf Terminal ausgeführt zeigt er mir diesen Fehler

bash: */2: No such file or directory 

Cronjob Befehl: */2 * * * * /usr/local/bin/php /opt/lampp/htdocs/ezypayzy/cronjob.php

+1

Das '*/2 * * * *' ist nur für Crontab. Sie können von der Kommandozeile aus starten mit: '/ usr/local/bin/php/opt/lampp/htdocs/ezypayzy/cronjob.php' –

+0

Wie für den ersten Fehler, es klingt wie Sie nicht die PHP mysql Modul Eingerichtet. https://help.ubuntu.com/community/ApacheMySQLPHP –

+0

für den ersten Fehler, wenn ich PHP-Skript im Browser drücken, gibt es mir die richtige Ausgabe, keine Fehler, aber auf CamMand nur gibt es mysql Fehler und für den zweiten Fehler, wenn ich laufe Dieses Kommando/usr/local/bin/php /opt/lampp/htdocs/ezypayzy/cronjob.php es gibt mir diesen Fehler bash:/usr/local/bin/php: Keine solche Datei oder Verzeichnis. –

Antwort

2

Wenn Sie die gleiche Datei ausführen und verschiedene Ausgabe über Shell und Ihrem Browser, ist es immer Wahrscheinlich haben Sie verschiedene Versionen von PHP installiert. Aus diesem Grund erhalten Sie undefined function mysql_connect(), weil Sie auf php 5.5.0+ verweisen, um Ihren Cronjob auszuführen.

Die Lösung ist zuerst zu überprüfen, wo PHP installiert ist.

$ whereis php 

versuchen Sie dann die verschiedenen Versionen zu überprüfen, mit php -v und /usr/local/bin/php -v

Wenn alles in Ordnung ist, und Sie haben php 5.5.0 oder höher, können Sie einfach entfernen mysql_ Funktionen und stattdessen mysqli/PDO verwenden.

Am Ende sollte Ihr Pfad so sein.

*/2 * * * * /usr/local/bin/php /path/to/cronjob.php 
+0

Hi nach dem Ausführen dieses Befehls php -v zeigt diese Art von Warnung auf der Kommandozeile PHP Warnung: PHP Startup: Kann dynamische Bibliothek '/usr/lib/php5/20121212/msql.so' nicht laden und meine PHP-Version ist PHP 5.5.9 –

+0

Was ist mit dem anderen? '/ usr/local/bin/php -v'? Wie auch immer, Ihr Problem ist, dass mysql seit '5.5.0' veraltet ist, also haben Sie keine mysql, und Sie können es nicht installieren. Ihre einzige Option ist entweder mysqli oder PDO. Also, was immer Sie in 'cronjob.php' haben, sollte geändert werden, um andere als mysql zu verwenden. Oder kurz gesagt, entfernen Sie alle mysql_ * 'Funktion dort. – samayo

+0

zuerst in meiner Maschine/usr/bin/php -v dieser Befehl wird erfolgreich ausgeführt, danach habe ich alle mysql-Funktion aus cronjob.php entfernen, aber danach, wenn ich versuche, PHP-Skript ausführen php/opt/lampp/htdocs/ezypayzy/cronjob.php es gibt diesen Fehler Fataler Fehler: Klasse 'mysqli' nicht in /opt/lampp/htdocs/ezypayzy/cronjob.php in Zeile 8 –