PHP ile Büyük Dosya Yükleme Hataları

4 Cevap php

Ben bir slayt gösterisi için bir resim yükleme var ve kullanıcıların sürekli 2MB artı dosyaları karşıya. Bu boyutu çalışma cezası altında dosyaları, ama boyutu üzerinde dosyaların bir tarayıcı zaman aşımı gibi göründüğünü neden olur.

İşte benim php ini ayarları şunlardır:

  • Maksimum bellek ayırma: 12M
  • Max dosya yükleme boyutu: 10M
  • Max HTTP Post boyutu: 10M
  • Maksimum yürütme süresi: 60
  • Maksimum giriş ayrıştırma süresi: 120

Bu ayarlar yapılandırma dosyasının kendisinde vardır ve ben onları doğrudan değiştirebilirsiniz. Phpinfo kullanırken Değişiklikler) (sırıtmak.

Ben bir apache sunucusu ve php 4.3.9 (müşterinin tercihi değil, mayın) çalıştırıyorum. Apache sunucunun isteği limiti yere 2GB civarında olduğuna inanıyorum, varsayılan olarak ayarlanır?

Ben kundakçı ağ monitör kullanırken ben de bu aracı kullanarak deneyimli değilim ama ben, sunucudan tam bir cevap alamıyorum gibi gözüküyor. Şeyler etrafında 43 saniyede dışarı zamanlama gibi görünüyor.

Tüm yardım ben suçlular olarak yukarıdaki ayarlara net puan bulabilirsiniz, ancak bu ayarları tüm bu 2MB dosyada çok daha yüksek ve dışarı 43 saniye zaman vardır.

Ben bu sorunu çözmek için buradan gidebilirsiniz nerede herhangi bir öneriniz?

İşte phpinfo den () İlgili php ini ayarları vardır. Artık sonrası ihtiyaç varsa bana bildirin.

  • Açık Açık file_uploads
  • max_execution_time 60 60
  • max_input_nesting_level 64 64
  • max_input_time 120 120
  • memory_limit 12M 12M
  • post_max_size 10M 10M
  • Kapalı Kapalı safe_mode
  • upload_max_filesize 10M 10M
  • Hiçbir değer hiçbir değer upload_tmp_dir

4 Cevap

Eğer hata raporlama php.ini aktif olduğundan emin olun: {[(0)];} Bu size neler hakkında bir ipucu verebilir. Üretim sunucular genellikle (gerektiği) devre dışı raporlama hatası var.

Geçenlerde benzer bir sorun vardı ve memory_limit ayarını artırarak benim için çalıştı. Değişkenler içine dosyaları content okursanız, her bir değişken komut bellek gereksinimleri artan dosya boyutu kadar bellek sürer.

Nerede bu ayarlar? Eğer kullanıyorsanız .htaccess daha sonra Apache yapılandırma bu ayarları geçersiz kılmak için izin olabilir.

Ben bu ayarlar aslında uygulanan veya ediliyor if () dediğimiz bir phpinfo ile kontrol öneririm:

<?php
  phpinfo();
?>

Bu paylaşılan bir bilgisayar varsa, host sizin geçersiz limitini ayarlamış olabilir.

Aksi takdirde, dosya yükleme boyutu daha POST limiti yüksek yapmayı deneyin. AFAIK, yüklenenler yayınlanmaktadır.

Sorun zaman aşımı geçersiz Host nedeniyle ise, yine Apache 1 kullanan bir dizi için bakabilirsiniz:. Apache In 1 yerel htaccess bile zaman aşımı için genel ayarı geçersiz kılar.

Aksi takdirde, sadece birkaç dolar için kullanılabilir Java applett yükleyicilerimizden onlarca (Google it) vardır. Onlar, dosya bölmek parçaları upload ve şeffaf bir araya parçaları yerleştirdim.

Bu zaman aşımı için garantili bir düzeltme ve kullanıcılar duraklatma ve devam onların yükleme, ilerleme görmek, et tüm icar avantajına sahiptir.

(Flash tabanlı uploaders bu avantajı yok.)