PHP-script blijft hangen bij grote bestandsuploads

Ik heb een php-script waarmee gebruikers meerdere bestanden naar de server kunnen uploaden op POST en vervolgens doorverwijzen naar de volgende pagina.

Het lijkt al een tijdje te werken, maar de laatste tijd melden gebruikers dat het oneindig hangt. Ze voeren alle velden in, selecteren bestanden om te uploaden, slaan een bericht, wachten vervolgens uren en geven dan op en sluiten het venster. Maar als ik het controleer, blijken de bestanden succesvol geüpload en in tact. Alleen de velden zijn niet gepost.

Het lijkt erop dat het script niet kan overschakelen naar de volgende sectie waar formuliervelden worden geparseerd en ingevoegd in de MySQL-database. Ik heb wat kleine tests gedaan en kan het probleem niet opnieuw maken. Hoewel ik niet de tijd heb om te testen met grote bestanden zoals 200M.

De maximale totale bestandsgrootte die een gebruiker zou uploaden, zou 200M zijn, dus ik denk dat mijn php-kerninstellingen voldoende zijn. Dit is wat ik heb:

max_execution_time = 7200
max_file_uploads = 20
max_input_time = 7200
memory_limit = 8000M
output_buffering = 4096
upload_max_filesize = 500M 

Is er iets anders in de kerninstellingen dat mij dit probleem zou kunnen geven? Of zou het een browserprobleem zijn?

1
200M is een ongewoon hoge uploadlimiet ... misschien wilt u FTP-bestandsoverdrachten overwegen.
toegevoegd de auteur Mike Purcell, de bron

1 antwoord

Dit is waarschijnlijk de verbindingssnelheid van uw gebruikers. Vraag een van uw gebruikers hun verbindingssnelheid en om Google Chrome te gebruiken en naar de statusbalk te kijken, het zou het percentage van de voortgang van de upload moeten verhogen. Of ik raad aan om dit zelf te proberen en iemand te beperken met je bandbreedte. Denk eraan dat uw gebruikers hoogstwaarschijnlijk een maximum van 1,5 hoger hebben, tenzij ze Fios hebben of een betere verbinding hebben (bijvoorbeeld T1).

2
toegevoegd
Akkoord ... een bestand van 200 MB kan lang (30-60 minuten) duren om te uploaden, zelfs op een kabel- of DSL-verbinding (bijvoorbeeld 200000 KB/100 KB/s).
toegevoegd de auteur John Watson, de bron