[gelöst] Aggregate JavaScript/CSS: Aggregierte Dateien können nicht von tmp nach files kopiert werden.
am 28.11.2011 - 15:02 Uhr in
Moin!
Ich habe die folgende verwirrende Problematik:
Offline Version (lokal) läuft einwandfrei. Live-Variante auf dem Webhost kann keine Dateien, weder JS noch CSS, aggregieren. Im Log ist die die vielfache Fehlermeldung
Die genannte Datei temporary://file6tIvhR konnte nicht nach %destiniation kopiert werden.
Auf der Suche nach dem Fehler habe ich die Drupal-Quellen nach diesem (bzw. dem englischen Originalstring) dursucht und bin auf die Funktion file_unmanaged_copy in includes/file.inc gekommen, in der folgendes passiert:
<?php
…
$real_source = drupal_realpath($source);
$real_destination = drupal_realpath($destination);
…
// Perform the copy operation.
if (!@copy($source, $destination)) {
watchdog('file', 'The specified file %file could not be copied to %destination.', array('%file' => $source, '%destination' => $destination), WATCHDOG_ERROR);
return FALSE;
}
…
?>
Lässt man sich $source und $destination ausgeben kommt folgendes bei raus:
temporary://file6tIvhR
public://js/js_9kmQWQJbbIp7U2xAoRz7quavHsxL8Jab4wU-qTxmGes.js
Hingegen $real_source und $real_destination:
/tmp/file6tIvhR
/var/www/pfadzudrupal/sites/default/files/js/js_9kmQWQJbbIp7U2xAoRz7quavHsxL8Jab4wU-qTxmGes.js
Wenn ich nun in dem Aufruf von copy die $real_* eintrage, also so:
<?php
// Perform the copy operation.
if (!@copy($real_source, $real_destination)) {
watchdog('file', 'The specified file %file could not be copied to %destination.', array('%file' => $source, '%destination' => $destination), WATCHDOG_ERROR);
return FALSE;
}
?>
Dann funktioniert es auch Online auf dem WebHost.
Es wundert mich überhaupt, dass man an den php copy Befehl auch (Drupal) URI's übergeben können soll.
Gibt es eine Servereinstellung, die für solch ein Verhalten verantwortlich ist? Gibt es also eine andere Möglichkeit, als den Core zu hacken oder zu patchen?
Vielen Dank und viele Grüße
~ aaki
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich hatte das Problem auch
am 28.11.2011 - 15:36 Uhr
Ich hatte das Problem auch mal, und der grund war das PHP in safemod gelaufen ist. Schau am besten mal ob es bei dir auch der fall ist.
Danke!
am 28.11.2011 - 16:02 Uhr
Hallo NightWalker,
der safe_mode wars... verrückt! Gott sei Dank konnte ich den umstellen!
Also ein ganz fettes Dankeschön!
~ aaki