WordPress : Erreur HTTP lors du téléchargement d’images sur des dimensions spécifiques

Publié par Jean-Michel le

Bonjour j’ai un compte revendeur avec un multisite wp 3.5 sur un hébergement mutualisé.

Soudain, je ne peux plus télécharger de photos après certaines dimensions aléatoires (il télécharge très bien les petites, mais il a des problèmes avec les plus grandes). Téléchargement 511 (largeur) sans aucune erreur http

Système d’exploitation : Linux (64 bits)

Serveur : LiteSpeed

Version Apache : 2.2.23

Processus d’entrée : 20

Utilisation de la mémoire virtuelle et utilisation de la mémoire physique : 1 048 576 Ko (chacun)

Utilisation des E/S : 1 024 Ko/s

Mes spécifications PHP :

  • Version PHP : 5.3.18
  • Version de l’API client mysql : 5.1.65-cll
  • post_max_size 60m (valeur locale) – 60m (valeur principale)
  • upload_max_filesize 100m (valeur locale) – 200m (valeur principale)
  • memory_limit 1024m (valeur locale) – 1024m (valeur maître)
  • max_input_time 60 (valeur locale) – 60 (valeur maître)
  • max_execution_time 3600 (valeur locale) – 600 (valeur principale)

functions.php de mon thème : http://pastebin.com/ddEQqVJy

Mon .htaccess multisite est

    # BASIC SECURITY
   <IfModule mod_security.c>
   <Files async-upload.php>
    SecFilterEngine Off
    SecFilterScanPOST Off
    </Files>
    </IfModule>
    #<IfModule mod_security.c>
    #SecFilterEngine Off
    #SecFilterScanPOST Off
    #</IfModule>
    php_value memory_limit 1024M
    php_value max_execution_time 3600
    php_value post_max_size 60M
    php_value upload_max_filesize 100M
    </IfModule>
    #php_value memory_limit 128M
    #php_admin_flag safe_mode off
    # Prevent folder browsing
    Options All -Indexes

    <Files wp-config.php>
    order allow,deny
    deny from all
    </Files>

    # BEGIN feedburner and uploaded files adjustments.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
    RewriteRule ^feed/?.*$ http://feeds.feedburner.com/mysite [L,NC,R=302]
    RewriteRule ^home?.*$ http://feeds.feedburner.com/mysite [L,NC,R=301]
    RewriteRule ^wp-content/uploads/(.*)$ http://mysite.com/files/$1 [L,R=301]
    RewriteRule ^wp-content/gallery/(.*)$ http://mysite.com/files/$1 [L,R=301]
    RewriteRule ^wp-content/uploads/jw-player-plugin-for-wordpress/player/player.swf$ http://mysite.com/files/jw-player-plugin-for-wordpress/player/player.swf$1 [L,R=301]
    </IfModule>

    # BEGIN ANTISPAMBLOG REGISTRATION
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-signup.php*
    RewriteCond %{HTTP_REFERER} !.mysite.com. [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://die-spammers.com/ [R=301,L]

    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post.php*
    RewriteCond %{HTTP_REFERER} !.*mysite.com.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
    </IfModule>

    # BEGIN Watermark Hotlinked Images
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?mysite.com  [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?google. [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?facebook.com [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?twitter.com [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?yahoo. [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?bing. [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?ixquick.com  [NC]
    RewriteCond %{HTTP_REFERER} !^https?://([^.]+.)?feeds.feedburner.com/mysite  [NC]
    RewriteRule ^(.*.(png|gif|jpe?g))$ http://mysite.com/wp-content/plugins/watermark-hotlinked-images/watermark.php?img=$1 [L]
    </IfModule>

    # END Watermark Hotlinked Images

    #Begin gzip and deflate
    <IfModule mod_deflate.c>
     AddOutputFilterByType DEFLATE text/html text/css application/x-javascript text/plain text/xml image/x-icon
    </IfModule>
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/html M3600
    ExpiresByType text/css M3600
    ExpiresByType application/x-javascript M3600
    ExpiresByType image/bmp M3600
    ExpiresByType image/gif M3600
    ExpiresByType image/x-icon M3600
    ExpiresByType image/jpeg M3600
    </IfModule>

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]

    # uploaded files
    RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule . index.php [L]
    #END WordPress

Mise à jour : Ceci est mon functions.php de mon thème http://pastebin.com/ddEQqVJy

Nous trouvons le problème, le problème est sur

ligne 131

add_image_size('theme-thumb', 520, 497, true);

lignes 267-275

if (function_exists('add_theme_support')) {
    add_theme_support('post-thumbnails');
    set_post_thumbnail_size(150, 250); // default Post Thumbnail dimensions
}

if (function_exists('add_image_size')) {
    add_image_size('post-thumb', 310, 9999); //300 pixels wide (and unlimited height)
    add_image_size('widget-thumb', 220, 180, true); //(cropped)
}

Lorsque nous les avons retirés, aucune « erreur HTTP » n’a été affichée lorsque nous avons téléchargé une photo sur un support.

sur function.php de Twenty Twelve use

// This theme uses a custom image size for featured images, displayed on "standard" posts.
    add_theme_support( 'post-thumbnails' );
    set_post_thumbnail_size( 624, 9999 ); // Unlimited height, soft crop

sans donner aucune « erreur HTTP » est étrange, savez-vous pourquoi cela se produit-il ? Et comment puis-je le réparer?

Solution n°1 trouvée

L’utilisation de LiteSpeed ??avec php 5.3 + WordPress 3.5 nécessitera d’augmenter External App >> lsphp5 à ces valeurs :

Limite logicielle de mémoire = 777M

Limite dure de mémoire = 800M

Des valeurs étonnantes pour le réglage de la mémoire, mais cela fonctionne pour moi.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *