rename() läuft gut von der Befehlszeile, aber wenn von Cron-Job ausgeführt wird, die Umbenennung() nicht. Da die connect.php-Datei funktioniert, nehme ich an, dass der Cron-Job im richtigen Verzeichnis ist, kann aber nicht herausfinden, warum rename() nicht funktioniert. Ich habe versucht, absolute Pfade und sie hat nicht funktioniert:Umbenennen() funktioniert nicht in Cron Job
<?php
include 'connect.php';
$oldlocation='xxx/xxx/'.$oldfilename;
$newlocation='yyyy/xxx/'.$newfilename;
$move=rename("$oldlocation","$newlocation");
Der Cron-Job: * * * * */usr/bin/php /usr/xxx/xxx/xxx/xxx.php -q -f
Ich habe keinen Root-Zugriff auf den Server. Soll dies ein SHELL-Skript durchlaufen?
Es scheint, als ob deine '$ oldlocation' und' $ newlocation' als relative Pfade angegeben sind. Cron führt Ihr Skript wahrscheinlich von einem anderen Ort aus, versuchen Sie, es absolut zu machen. – jojonas
Sind Sie sicher, dass Sie Ihre absoluten Pfade korrekt eingerichtet haben? Cron wird definitiv nicht mit relativen Pfaden arbeiten, aber Sie müssen sicherstellen, dass Ihr absoluter Pfad von root definiert ist - etwas wie 'include '/home/youraccount/public_html/includes/connect.php';' –
die Datei connect.php funktioniert genau wie gezeigt und ich bin mir nicht sicher warum, aber die Umbenennung() benötigt absolute Pfade, ich habe die/am Anfang des Pfades fehlt, nicht für PHP in einem Browser oder Befehlszeile benötigt, aber ich denke, aber absolut erforderlich ist Wege, ich vermute wieder, aber werde forschen. Danke für die Antworten – jester