Das Lesen einer Datei mit PHP ergibt 500 Fehler

  • Ich habe ein Skript, das eine MP3-Datei mit readfile () liest (ich habe auch fread () mit einer Schleife versucht). Und bei einer bestimmten Datei bekomme ich einen 500-Fehler. Alle anderen Dateien scheinen gut zu lesen.

    Wenn ich das Fehlerprotokoll auf meinem Server durchsehe, stelle ich fest, dass ich einen PHP-Speicherfehler erhalte, wenn versucht wird, diese bestimmte Datei zu lesen .

    Kann mir jemand Hinweise geben, was möglicherweise los ist?

    23 April 2015
    stoi2m1
5 answers
  • Sie haben bereits auf das Problem hingewiesen - PHP hat keinen Speicher mehr. Die maximale Speicherbelegung in PHP ist durch eine ini-Einstellung begrenzt.

    Sie können ihn zur Laufzeit oben in Ihrem Skript mit ini_set :

     ini_set('memory_limit', '64M');
     

    Oder Sie können es in Ihrer php.ini -Datei so einstellen gilt für alle Skripte :

     memory_limit = 64M;
     

    Zum Schluss wird der verwendete Speicher angezeigt durch das aktuell ausgeführte Skript mit memory_get_usage()

    22 November 2011
    Jonathon Reinhart
  • Versuchen Sie, die Ausführungszeit zu erhöhen: set_time_limit (300); // 300 Sekunden ini_set ('memory_limit', '16M'); // auf einen Wert von etwa 16 MB erhöhen

    22 November 2011
    Sudhir Bastakoti
  • Höchstwahrscheinlich übersteigt der maximale Speicherplatz. Dies kann in der php.ini angepasst werden. Überprüfen Sie hier: http://www.php.net/manual/de/ini.core.php#ini.memory-limit

    22 November 2011
    FeeJai
  • Die MP3-Datei hat eine größere Dateigröße als memory_limit. Sie müssen den Speicherplatz erhöhen, auf den PHP zugreifen kann, wenn Sie aus dieser MP3-Datei lesen möchten.

    Wenn Sie Zugriff auf die Datei php.ini haben, können Sie dies finden memory_limit = 16M ; und ersetzen Sie den Wert durch den Speicher, den Sie benötigen.

    Wenn Sie keinen Zugriff auf php.ini und Zugriff auf .htaccess haben, fügen Sie Folgendes hinzu:

    php_value memory_limit 16M

    und ersetzen Sie den Wert.

    Wenn Sie keine haben, versuchen Sie es Komprimieren der MP3-Datei oder Reduzieren auf andere Weise den Speicherplatz, den Sie für diese Aktion benötigen. Löschen Sie nicht verwendete Variablen, die viel Speicherplatz beanspruchen.

    22 November 2011
    Cyclone
  • Nun, php hat wahrscheinlich nicht genügend Speicher, bevor Sie das Skript abschließen. Sie können den Arbeitsspeicher einfach erhöhen, indem Sie die Option memory_limit in Ihrer php.ini ändern

    22 November 2011
    Arend