Resim Yüklerken HTTP Hatası Nasıl Düzeltilir?


28

Apache ve PHP 5.3.X kullanarak Ubuntu 12.04'te WordPress 3.4.1 kullanıyorum

Kontrol paneline giriş yaptığımda ve yeni bir mesaj eklediğimde. Ardından, özellikli bir resim olarak ayarlamak için bir resim yüklemeyi deneyin, "HTTP Hatası" mesajı olan kırmızı bir kutu alıyorum.

Flash yükleyiciyi kullanmadığımı ve sadece tarayıcı yükleyicisini kullanmadığını söyleyen insanları okudum, ancak bunu denediğimde sadece 500 Dahili Sunucu Hatası alıyorum.

AddType x-mapp-php5 .php.Htaccess dosyamın üst kısmına ekleme yapma şansım olmadı.

TÜM eklentileri devre dışı bırakmanın bir etkisi olmadı. Yeni bir yükleme denedim. Şanssız.

17.07.2016 Güncelleme - Özel roller veya yetenekler kullanıyorsanız, lütfen yerel bir rol / yetenek kullanmayı deneyin ve tekrar deneyin.

Kontrol etmeyi düşündüğünüz şeyler:

  • Dosya sahipliği
  • Dosya izinleri
  • .htaccess yapılandırması
  • PHP Sürüm 7+
  • WordPress Mevcut Sürüm

Proxy arkasında çalışıyorsanız, proxy sunucusu zaman aşımlarını doğru yapılandırdığınızdan emin olun.

WordPress 3.4.1 Medya Yükleme HTTP Hatası


Arkasındaki sebep AddType x-mapp-php5 .phpnedir? Bu çok sunucuya özgü görünüyor. Bir şeyi geliştirmek yerine sitenizi (ör. PHP) korkunç bir şekilde kırmanın (veya şanslıysanız hiçbir şey yapmamanız ) daha muhtemel olduğunu düşünüyorum.
MrWhite

Yanıtlar:


25

Dosyamın içine aşağıdaki kodu koydum functions.php. İşe yarıyor!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

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

Bu yardımcı olduğunda, yüklenen görüntünün WordPress ile kullanılmak üzere işlenmesi için kullanılan PHP kod modülünü değiştirmesi nedeniyle olur.

Bu işlem görüntünün medya kitaplığı veritabanına taşınmasını ve WordPress'in temaların her zaman erişebilmesi için istediği farklı boyuttaki görüntüleri ("küçük resim", "orta", "büyük") oluşturmayı içerir.

İlk olarak, çünkü "GD" modülünün kullanılmasına neden olur. Bazı sunucu kurulumlarında, daha yeni olan "Imagick" kitaplığı, büyük piksel boyutları gibi belirli görüntü senaryoları için başkalarıyla iyi oynamıyor, bu nedenle kullanılacak "GD" kitaplığını zorlamak bir düzeltmedir.


İçeriği koymaktan daha küçük bir eklenti oluşturmak daha iyidir functions.php, çünkü temayı değiştirirseniz kodu kaybedersiniz. Ve temanın değişmesinden sonra bu çalışmayı istediğinize eminim 😊
EliasNS

1
+1 Bu benim için yeni bir HostGator hesabında kullanıma hazır bir WP 4.9.4 kurulumuyla bu soruna çalışırken çalıştı. @EliasNS noob burada; Bunun için küçük bir eklenti yapmanın doğru yolu nedir?
Andrew Janke

@AndrewJanke, bir eklenti kullanabilirsiniz 😅 es.wordpress.org/plugins/pluginception
EliasNS

"Imagick" ? "ImageMagick" değil mi?
Peter Mortensen,

21

Sohbette @Wyck ile ilgili sorun giderme işlemlerinin ardından, temel sorunu daralttık.

Sorun sunucu yapılandırmamla ilgili olarak Apache / PHP'ye atanmış yeterli bellek miktarının olmamasıydı.

Herhangi biri de aynı sorunu yaşıyorsa, lütfen sunucu yapılandırma ayarlarınızda Apache / PHP'ye ayrılan yeterli (64 MB +) sunucu belleğinin olduğunu doğrulamayı deneyin. Bunu wp-config.php dosyanıza da ekleyebilirsiniz:

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

Yukarıdaki çözüm işe yaramazsa, Image / Media Uploader problemleri makalesini okuyun. daha fazla sorun giderme için.

WordPress kurulumunuzun kök dizinindeki .htaccess dosyasına aşağıdaki.

Cidden, aşağıdaki çözümlerden birini deneyin, böylece hangisinin işe yaradığını anlayın. Hepsini hemen .htaccess dosyasına yapıştırmayın.

Bu satırı dene:

AddType x-mapp-php5 .php

mod_security sorunlara neden olabilir. Sorunun bu olup olmadığını görmek için devre dışı bırakın. Bunu yapmak için, wp-admin dizininizde bir .htaccess dosyası hazırlayın. Bunu buna ekle:

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

Web Sunucunuzdaki kimlik doğrulamasını temel alan erişim kontrolü kullanıyorsanız (genellikle htpasswd, temel kimlik doğrulama, parola korumalı dizin veya benzeri olarak bilinir), WordPress, Flash Uploader, Cron ve XMLRPC için kullanamaz. İlgili dosyaların çalışması için dışlanması gerekiyor. Bunun güvenlikle ilgili düşüncelerinizi bozabileceğini unutmayın.

# Exclude the file upload and WordPress CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Son bir not: bazıları PHP 5.3.X'in daha küçük bir sürümünü kullanıyorsanız PHP Güvenli Modunu devre dışı bırakmayı deneyebileceğinizi söyledi.

WordPress çok siteli kullanıyorsanız ve görüntü yüklemeyle ilgili HTTP hataları veya dahili sunucu hataları alıyorsanız, lütfen olası diğer sorun giderme fikirleri ve çözümleri için Görüntüleri Çok Hatalı Web Alanlarına Neden Olan Hatalara HTTP Gönderme bölümüne bakın ) .


Tamam ... bilmek güzel ... WP'nin 256 MB ram tahsis etmeye çalıştığını okudunuz mu, define('WP_MEMORY_LIMIT', '64MB');eğer mümkünse bu daha büyük olmalıdır.
Damien,

1
WP 4.1.1 kullanıyorsanız AddType x-mapp-php5 .php, sayfayı basitçe PHP kodunu düz metin olarak yazdırmaya zorlayan artık uygun bir çözüm değil
cameronjonesweb 27.05.2006

1
Ya da nginx kullanıyorsanız bunu sitelerinizin yapılandırma dosyasına ekleyin:client_max_body_size 128m;
Flatron

4

Wordpress'te medya yüklemeye çalışırken aynı hatayı koştum. Chrome'da, http: hatası olarak görünür; Firefox'ta hata oldukça farklı görünüyor. Web, böcekleri kovalamak için günler harcayan insanların dolu hikayeleridir (bu yüzden ben :-(). Çözümler çoktur, ancak hiç kimse nedenini açıklamıyor, en azından belirtilerle tutarlı bir şekilde değil.

Tuppence değerinde katkım: Sorunun, apache2'nin günlük dosyasında işaretlenen bir segmentasyon hatası ile ilişkili olduğunu fark ettim. Bu beni rahatsız ediyor, çünkü teşhis etmek zor.

Tüm sunucuyu yeniden başlatmak tüm belirtileri ortadan kaldırdı ve birden bire Wordpress'e tekrar medya yükleyebildim. Sinir bozucu bir şekilde, bunun neden olduğuna dair hiçbir fikrim yok. Yeniden başlatma beni daha fazla araştırma yapmamdan etkili bir şekilde durdurdu ve şimdi sorunun yeniden ortaya çıkması için beklemem gerekecek (haftalar? Aylar?). Umarım bu, başkalarına bu sorunun nedenini bulma konusunda yardımcı olur. Ancak karım mutlu, çünkü artık bu sorunu kovalayarak geceleri geçiremiyorum ...


1

Ben benim sahibini değiştirerek bu sorunu çözmüş bulunuyoruz rootiçin apacheaşağıda.

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

Sonra iznini değiştirmek zorunda wp-content/uploads/için 775.

Ondan sonra, medyaya bir resim yüklemeye çalıştım. Resmi yüklemek için başarılı oldum.


0

Ben de aynı sorunu yaşadım. Image Image Magick Eklentisini Zorla'yı kullanarak varsayılan görüntü işlemcisini PHP GD'den ImageMagick'e değiştirme dahil çeşitli düzeltmeler denedim

Bu HTTP Hatası / 500 hatası ile yardımcı oldu, ancak küçük resimler artık oluşturulmuyordu. Sonra eklentiyi tekrar devreden ve sonra ne bana yardımcı şuydu cevap soru üzerine resim boyutlandırmak gibi Tipler iyi çalışmıyor . Benim ev sahibimin izin verdiği mutlak maksimum olana PHP_MEMORY_LIMITayarlandı 160MB.

Görüntüleri yüklemek için, bu, 6000 x 6000 pxPHP GD kullanırken ve küçük resimler oluştururken, görüntünün mümkün olan maksimum boyutlarında olmasına neden oldu . Bu yüzden sadece dosya boyutunu değil, aynı zamanda resmin boyutlarını da kontrol etmek önemlidir. Daha yüksek boyutlu bir resim yüklemek, küçük dosya boyutlarında bile HTTP Hatası / hatası 500 ile sonuçlandı.


0

Böyle bir konu defalarca deneyimli ve arttırarak çözdük memory_limit = 256Mphp.ini içinde VEYA ekleyerek define( 'WP_MEMORY_LIMIT', '256M' );de wp-config.phpdosya (* Eğer fazla bellek artırabilir gerekli 256Mçoğu zaman).

Başka bir olası çözüm \wp-content\uploads\klasöre izin vermek olabilir ; Komut: chmod -R 0755 wp-content\uploads\.

Umarım size de yardımcı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.