Ich habe einen bizarren Fehler, den ich einfach nicht verstehen kann. Meine Website funktionierte auf einem Server, aber als ich sie auf einen neuen Server übertragen hatte, funktionierte sie nicht mehr. Ich glaube, dass ich den Fehler verengt habe bis zu dieser Codezeile:move_uploaded_file hängt?
$ret = move_uploaded_file($tmp_name, $orig_path);
Diese durch einen AJAX-Aufruf ausgeführt wird, so ist es ein wenig zu debuggen schwierig, aber das Skript kann einen Fehlercode zurückschicken und dann meine JavaScript wird alert
es. So habe ich es in zwei dieser Debug-Anweisungen eingewickelt:
echo json_encode(array(
'success' => false,
'errno' => $tmp_name.' -> '.$orig_path,
));
exit;
$ret = move_uploaded_file($tmp_name, $orig_path);
echo json_encode(array(
'success' => false,
'errno' => 'no error',
));
exit;
Die erste funktioniert gut und spuckt etwas wie:
error /tmp/phpk3RICU -> /home/username/Websites/website/photos/o/2-4a3354dd017a9.jpg
Vielleicht bin ich ein bisschen von einem Linux noob, aber ich kann nicht wirklich /tmp/phpk3RICU
auf meinem System finden (wird es gelöscht, sobald das Skript beendet wird oder was?). Mehr dazu in einer Sekunde.
Wenn ich die erste Debug-Überprüfung lösche und move_uploaded_file
laufen lassen, scheint die zweite Debug-Prüfung nie ausgeführt zu werden, was zu der Annahme führt, dass move_uploaded_file hängen bleibt.
Wenn ich statt $tmp_name
eine Datei verwende Ich kenne existiert nicht, dann wird die zweite Prüfung ausgeführt. Also ... es scheint, als ob es diese tmp-Datei nicht einfach verschieben möchte, aber es meldet keinen Fehler.
Ich habe eine neue Installation des LAMP-Stacks auf meinem Unbutu-Rechner installiert, der über apt-get installiert wurde ... lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.
Oh .. und weiß nicht, ob es relevant ist, aber die Datei wird durch Flash hochgeladen.
mkdir scheitert auch tatsächlich ...scheint keine Dateien zu erstellen und gibt keinen Fehler aus. – mpen