Come Risolvere l'Errore HTTP Durante il Caricamento delle Immagini?

26 lug 2012, 20:05:54
Visualizzazioni: 207K
Voti: 30

Sto utilizzando WordPress 3.4.1 su Ubuntu 12.04 con Apache e PHP 5.3.X

Quando accedo alla dashboard e aggiungo un nuovo articolo, e cerco di caricare un'immagine da impostare come immagine in evidenza, ottengo un riquadro rosso con il messaggio "HTTP Error".

Ho letto di persone che suggeriscono di non utilizzare l'uploader flash e di usare invece l'uploader del browser, ma quando provo questo metodo, ottengo solo un errore 500 Internal Server Error.

Ho provato ad aggiungere AddType x-mapp-php5 .php all'inizio del mio file .htaccess, senza ottenere alcun cambiamento.

La disattivazione di TUTTI i plugin non ha avuto alcun effetto. Ho provato una nuova installazione. Nessun risultato.

Aggiornamento 17/10/2016 - Se stai utilizzando ruoli o capacità personalizzate, prova a utilizzare un ruolo/capacità nativo e riprova.

Elementi da controllare:

  • Proprietà dei file
  • Permessi dei file
  • Configurazione .htaccess
  • Versione PHP 7+
  • Versione attuale di WordPress

Se stai operando dietro un proxy, assicurati di aver configurato correttamente i timeout del server proxy.

Errore HTTP nel caricamento dei media in WordPress 3.4.1

1
Commenti

Qual è il ragionamento alla base di AddType x-mapp-php5 .php? Sembrerebbe essere molto specifico per il server. Sarebbe più probabile che rompa il tuo sito (ad esempio PHP) in modo orribile (o non faccia nulla se sei fortunato) piuttosto che migliorare qualcosa?

MrWhite MrWhite
1 gen 2018 19:29:59
Tutte le risposte alla domanda 6
4
27

Ho inserito il seguente codice nel mio file functions.php. Funziona!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

Questo aiuta perché modifica il modulo PHP utilizzato per elaborare l'immagine caricata per l'uso con WordPress.

L'elaborazione include lo spostamento dell'immagine nel database della media library e la generazione delle diverse dimensioni delle immagini ("thumbnail", "medium", "large") che WordPress vuole sempre disponibili per l'accesso da parte dei temi.

Fa sì che venga utilizzato il modulo "GD", poiché è il primo nell'array. In alcune configurazioni del server, la libreria più recente "Imagick" non funziona correttamente in certi scenari di immagini, come dimensioni in pixel molto grandi, quindi forzare l'uso della libreria "GD" è una soluzione.

30 apr 2014 08:19:18
Commenti

È meglio creare un piccolo plugin piuttosto che inserirlo nel functions.php, perché se cambi tema, perdi il codice. E sono sicuro che vorrai che questo continui a funzionare dopo un cambio di tema

Elías Gómez Elías Gómez
15 gen 2018 13:43:10

+1 Questo ha funzionato per me quando ho avuto questo problema con un'installazione predefinita di WP 4.9.4 su un nuovo account HostGator. @EliasNS sono un principiante; qual è il modo giusto per creare un piccolo plugin per questo?

Andrew Janke Andrew Janke
27 feb 2018 03:26:23

@AndrewJanke, potresti usare un plugin https://es.wordpress.org/plugins/pluginception/

Elías Gómez Elías Gómez
27 feb 2018 13:07:33

"Imagick"? Non "ImageMagick"?

Peter Mortensen Peter Mortensen
8 giu 2019 16:23:57
3
22

Dopo aver risolto i problemi con @Wyck nella chat, abbiamo individuato il problema sottostante.

Il problema era legato alla mia configurazione del server che non aveva una quantità sufficiente di memoria allocata per Apache/PHP.

Se qualcuno ha lo stesso problema, si prega di verificare di avere abbastanza memoria (64 MB+) allocata per Apache/PHP nelle impostazioni di configurazione del server. È anche possibile aggiungere questa riga nel file wp-config.php:

define('WP_MEMORY_LIMIT', '64MB');

Se la soluzione sopra non funziona, leggi l'articolo Problemi con il caricamento di immagini/media? per ulteriori soluzioni.

Prova ad aggiungere uno per uno o tutti i seguenti tweaks al file .htaccess nella directory principale della tua installazione WordPress.

Seriamente, prova una di queste soluzioni alla volta per capire quale funziona. Non incollarle tutte subito nel tuo file .htaccess.

Prova questa riga:

AddType x-mapp-php5 .php

mod_security potrebbe causare problemi. Disabilitalo per vedere se è questo il problema. Per farlo, crea un file .htaccess nella tua directory wp-admin e aggiungi questo:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Se stai utilizzando il controllo degli accessi basato sull'autenticazione sul tuo server web (spesso noto come htpasswd, autenticazione di base, directory protetta da password o simili), WordPress non è in grado di gestirlo per il Flash Uploader, Cron e XMLRPC. I file correlati devono essere esclusi per funzionare. Tieni presente che questo potrebbe compromettere le tue considerazioni di sicurezza.

# Escludi lo script di caricamento dei file e WordPress CRON dall'autenticazione
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Un'ultima nota: alcuni hanno detto che se si utilizza una versione inferiore di PHP 5.3.X, si può provare a disabilitare la modalità sicura di PHP.

Se stai utilizzando WordPress multi-sito e ricevi errori HTTP o errori interni del server, relativi al caricamento delle immagini, leggi Il caricamento delle immagini in Multi-Site causa un errore HTTP per altre possibili soluzioni e idee di risoluzione.

26 lug 2012 21:47:48
Commenti

ok ... buono a sapersi ... hai letto che WP cerca di allocare fino a 256MB di RAM quindi questo define('WP_MEMORY_LIMIT', '64MB');dovrebbe essere più grande se possibile.

Damien Damien
27 lug 2012 01:35:17

Se stai usando WP 4.1.1, il AddType x-mapp-php5 .php non è più una soluzione valida perchè forza la pagina a stampare semplicemente il codice PHP come testo normale

cameronjonesweb cameronjonesweb
27 mar 2015 08:02:27

Oppure aggiungi questo al file di configurazione del tuo sito se stai usando nginx: client_max_body_size 128m;

Bent Bent
28 giu 2015 19:00:05
0

Mi sono imbattuto nello stesso errore cercando di caricare media in WordPress. In Chrome, appare come un errore HTTP; in Firefox, l'errore appare completamente diverso. Il web è pieno di storie di persone che hanno passato giorni a cercare di risolvere questo bug (io incluso :-( ). Le soluzioni proposte sono molte, ma nessuno spiega il perché, almeno non in modo coerente con i sintomi.

Il mio piccolo contributo: ho notato che il problema è correlato a un segmentation fault segnalato nel file di log di Apache2. Questo mi preoccupa, perché è difficile da diagnosticare.

Riavviare completamente il server ha eliminato tutti i sintomi e all'improvviso sono riuscito a caricare nuovamente i media in WordPress. La cosa frustrante è che non ho la minima idea del perché ciò accada. Il riavvio mi ha di fatto impedito di approfondire la ricerca, e ora dovrò aspettare (settimane? mesi?) che il problema si ripresenti. Spero che questo possa aiutare altri nella loro ricerca della causa del problema. Mia moglie è contenta, però, perché ora non posso più passare le notti a cercare di risolverlo...

30 mag 2014 22:19:02
0

Ho risolto questo problema cambiando il proprietario da root a apache come mostrato di seguito.

chown -R apache:apache /var/www/html/mydomain

Successivamente ho modificato i permessi della directory wp-content/uploads/ impostandoli a 775.

Dopo queste modifiche, ho provato a caricare un'immagine nel media library e l'operazione è stata completata con successo.

29 ott 2013 11:24:01
0

Ho avuto lo stesso problema. Ho provato diverse soluzioni, incluso cambiare il processore di immagini predefinito da PHP GD a ImageMagick utilizzando il plugin Force Image Magick.

Questo ha risolto l'HTTP Error / l'errore 500 ma le miniature non venivano più generate. Ho quindi disattivato nuovamente il plugin e ciò che mi ha aiutato è stata questa risposta alla domanda Sembra che il ridimensionamento delle immagini non funzioni correttamente. Il mio PHP_MEMORY_LIMIT era impostato a 160MB che è il massimo assoluto consentito dal mio hosting.

Per il caricamento delle immagini, questo risultava in dimensioni massime possibili dell'immagine di circa 6000 x 6000 px quando si utilizzava PHP GD e si generavano miniature. Quindi è importante controllare non solo la dimensione del file ma anche le dimensioni dell'immagine. Caricare un'immagine con dimensioni maggiori risultava in un HTTP Error / errore 500 anche con file di piccole dimensioni.

29 mar 2018 19:15:49
0

Ho riscontrato questo problema molte volte e l'ho risolto aumentando memory_limit = 256M in php.ini OPPURE aggiungendo define( 'WP_MEMORY_LIMIT', '256M' ); nel file wp-config.php (*Se necessario puoi aumentare la memoria oltre 256M) nella maggior parte dei casi.

Un'altra possibile soluzione potrebbe essere dare i permessi alla cartella \wp-content\uploads\; comando: chmod -R 0755 wp-content\uploads\.

Spero possa aiutare anche te.

7 ott 2019 08:00:38