Bilder vom Computer werden nicht hochgeladen

  • Wenn ich Bilder vom Computer hochgeladen möchte wird folgende Fehlermeldung angezeigt:

    “bild-1.gif” konnte wegen eines Fehlers nicht hochgeladen werden
    Die hochgeladene Datei konnte nicht nach /var/www/vhosts/meineseite.de/httpdocs/wp-content/uploads verschoben werden.

    Einstellungen › Mediathek > kuck mal Bild unten

    [Blockierte Grafik: http://s10.directupload.net/images/101113/24x3ibhn.gif]

    Was kann ich machen?

    Einmal editiert, zuletzt von konta (25. November 2010 um 11:21)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Okay, ich habe mal fix ein kleines Plugin gezimmert, das uns mehr verrät: https://gist.github.com/701718

    Installiere und aktiviere es, schreib in einen Beitrag …

    Code
    [uploadinfo]

    … und poste hier mal das Ergebnis. Du mußt den Beitrag nicht publizieren; die Vorschau genügt.

    Die Ausgabe sollte etwa so aussehen:

    Oh, und sieh nach, ob du überhaupt noch genügend Speicherplatz in deinem Paket hast. Manchmal sind es ja die kleinen Dinge, die alles einreißen. ;)

  • Ergebnis

    Warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 10071 is not allowed to access /tmp owned by uid 0 in /var/www/vhosts/meinedomain.de/httpdocs/wp-content/plugins/upload-info-shortcode.php on line 60
    WP Info
    path: /var/www/vhosts/meinedomain.de/httpdocs/wp-content/uploads
    url: http://miriko.de/wp-content/uploads/
    subdir:
    basedir: /var/www/vhosts/meinedomain.de/httpdocs/wp-content/uploads
    baseurl: http://miriko.de/wp-content/uploads/
    error:
    WP Multisite: No
    Upload Dir Owner: ID: 33, name: www-data
    Upload Dir Group: ID: 33, name: www-data
    Upload Dir Permissions:0777
    Upload Dir Writable: Yes
    Upload Path Writable: Yes
    Upload Rights: Yes

    System Info
    PHP version: 5.2.6-1+lenny6
    Temp Dir:
    Temp Dir Owner:
    Temp Dir Writable: No
    Current Process Owner: ID: 33, name: www-data
    Current Process Group: ID: 33, name: www-data

    Speicherplatz habe ich genug.

  • Mal im Detail:

    Wenn du Dateien hochlädst, werden die erst in ein temporäres Verzeichnis gepackt.
    Dann kannst du bzw. dein Script sie ansehen und bei Bedarf in das passende Verzeichnis verschieben. Verschiebst du sie nicht, werden sie wieder gelöscht.
    Du kannst aber auf das temporäre Verzeichnis nicht zugreifen; da hat dein Hoster die Konfiguration vermutlich nicht korrekt gesetzt.

    Jetzt hast du drei Möglichkeiten:

    1. Weise deinen Hoster auf das Problem hin. Bevorzugt!

    2. Packe ins Verzeichnis [FONT="Courier New"]/wp-admin/[/FONT] eine [FONT="Courier New"].htaccess[/FONT] mit diesem Inhalt:

    Code
    AddHandler php-fastcgi .php

    Läuft PHP über FastCGI, gehört es meistens zu einer anderen Gruppe; Schreibprobleme gibt es hierbei seltener.

    3. Schreib in deine [FONT="Courier New"]wp-config.php[/FONT] ganz ans Ende:

    PHP
    foreach ( array ( 'TMP', 'TEMP', 'TMPDIR' ) as $alternate_tmp_dir )
    {
        putenv( 
            "$alternate_tmp_dir=" 
            . $_SERVER['DOCUMENT_ROOT'] 
            . DIRECTORY_SEPARATOR 
            . '_ersatz_tmp'
        );
    }

    Lege im Wurzelverzeichnis ein Verzeichnis [FONT="Courier New"]_ersatz_tmp[/FONT] an, gib ihm hohe Schreibrechte, und packe eine [FONT="Courier New"].htaccess[/FONT] hinein, in der steht:

    Code
    # Kein HTTP-Zugriff.
    order allow,deny
    deny from all

    Da dieses Verzeichnis nicht unbedingt automatisch gelöscht wird, mußt du es ab und zu selbst leeren.

    Wenn alle drei Wege scheitern, weiß ich nicht mehr weiter.

  • Gleiches Problem, was soll der Hoster tun?

    Hallo Toscho,

    ich habe das gleiche Problem mit dem Interface.
    Der Workaround mit einem separaten Bildordner und anschließender Verknüpfung, (der hier oder im Parallelthread erwähnt wurde,) erscheint mir etwas unhandlich und Fehleranfällig, wenn die Basis URL angepasst wird (z.B. von "Test" auf "Live").

    Insofern würde ich schon gerne dieses Tool nutzen.

    Mal im Detail:


    Du kannst aber auf das temporäre Verzeichnis nicht zugreifen; da hat dein Hoster die Konfiguration vermutlich nicht korrekt gesetzt.

    Jetzt hast du drei Möglichkeiten:

    1. Weise deinen Hoster auf das Problem hin. Bevorzugt!


    Ich kenne den Hoster auch ein wenig, aber er meinte, er würde z.B. Port 21 nicht freigeben wollen.

    Was genau kann der Hoster sonst tun, um die Konfiguration so einzustellen, daß diese Mediathek genutzt werden kann. (evt. habe ich auch selbst die Rechte, z.B. Schreibrechte von Unterordnern zu verändern, weiß aber nicht, welche der Rechte ich dort sinnvollerweise vergeben sollte.)

    Kannst Du diese Hoster-thematik etwas konkretisieren? Zur Not erstmal Stichpunktartig? Das wäre super!!

    Viele Grüße

    P. Baer

  • Ich kenne den Hoster auch ein wenig, aber er meinte, er würde z.B. Port 21 nicht freigeben wollen.

    Port 21 ist für FTP, das hat damit gar nichts zu tun.

    Was genau kann der Hoster sonst tun, um die Konfiguration so einzustellen, daß diese Mediathek genutzt werden kann. (evt. habe ich auch selbst die Rechte, z.B. Schreibrechte von Unterordnern zu verändern, weiß aber nicht, welche der Rechte ich dort sinnvollerweise vergeben sollte.)

    Das ist, ehrlich gesagt, nicht mein Spezialgebiet, deshalb nimm das folgende nur als Anhaltspunkt:

    1. Der User, unter dem der Webserver (Apache) läuft, muß Schreibrechte für das temporäre Verzeichnis bekommen. Sonst kommt der Upload nirgendwo an.
    2. Der User, unter dem PHP läuft, muß Leserechte im temporären Verzeichnis bekommen, sonst kann es die hochgeladene Datei nicht ins WP-eigene Upload-Verzeichnis verschieben.
    3. PHP muß Schreibrechte fürs Upload-Verzeichnis bekommen. Das kannst du selbst per FTP erledigen.

    Die beiden ersten Punkte sind eigentlich Standard bei einer normalen Installation. Man muß das vorsätzlich kaputtkonfiguriert haben, damit es nicht mehr geht.
    Angesichts der vielen Fragen dazu in letzter Zeit vermute ich, daß viele Hoster jüngst das falsche Memo bekommen haben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!