ich einen Cron-Job in meinem cPanel mit dem Befehl unten erstellt haben:Cron Job ausgeführt wird nicht das PHP-Skript
/usr/bin/php -q /home/user/public_html/folder/subfolder/sync.php
Der Inhalt von syns.php ist fast so. Es funktioniert ohne Fehler, wenn ich es mit der Domäne wie domain.com/folder/subfolder/sync.php ausführe, aber ich kann das erwartete Ergebnis nicht sehen, wenn der Cron-Job ausgeführt werden soll, was bedeutet, dass Cron-Job das Skript nicht ausführt. Kann mir jemand sagen, was das Problem sein könnte?
<?php
$dir = str_replace("public_html","", $_SERVER["DOCUMENT_ROOT"]);
$dir = $dir . "configuration.php";
if (file_exists($dir))
{
require_once($dir);
sync();
}
else
{
// echo ("Can't find the access data.");
}
function sync()
{
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if(mysqli_connect_errno())
{
// echo ("Failed to connect the database.");
exit();
}
else
{
if(mysqli_ping($connection))
{
$query = "SELECT OR UPDATE WHATEAVER FROM TABLE;";
$result = mysqli_multi_query($connection, $query);
if($result)
{
// Do stuff
}
else
{
// echo("Failed to excute the query.");
}
}
else
{
// echo("Failed to ping the connection.");
}
}
mysqli_close($connection);
}
?>
ich die $ dir geändert, aber immer noch nichts. Aber es wird mir jedes Mal eine E-Mail senden, wenn es versucht zu laufen und die E-Mail sagt "Konnte Eingabedatei nicht öffnen". Irgendein Rat? – John
Das klingt wie ein Bash-Fehler, nicht ein PHP-Fehler. Stellen Sie sicher, dass sich PHP tatsächlich in '/ usr/bin/php' befindet, und überprüfen Sie den vollständigen Pfad zu Ihrer Datei' sync.php' in Ihren Cron-Einstellungen. Sind Sie auch in der Lage, SSH in den Server und versuchen, den vollständigen Befehl von dort auszuführen? – rickdenhaan