Ich verwende PHP 5.3.0 und bin auf etwas gestoßen, das ein Fehler sein könnte (in diesem Fall werde ich es melden) oder ich selbst - also bitte ich darum, dies sicherzustellen.
Wenn Sie diesen Code ausführen:
<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')
Am Ende habe ich:
2M, 8M
Dies ist trotz meiner php.ini Einstellung dieser höher:
upload_max_filesize = 10M
post_max_size = 10M
(nur einmal vorkommend)
Da der Fehler sowohl nach dem Festlegen des Werts als auch nach dem Festlegen in der php.ini auftritt, neige ich dazu, zu glauben, dass es sich um einen Fehler handelt. Kann mir jemand bestätigen oder zeigen, wo ich falsch liege?
Update : Es sieht so aus, als ob ein Neustart von Apache dieses Problem behoben hat. Ich dachte immer, dass es nicht neu gestartet werden muss, wenn Sie die php.ini geändert haben.
Antworten:
Sie können die Kurzschreibweise nicht verwenden , um Konfigurationswerte außerhalb von PHP.ini festzulegen. Ich gehe davon aus, dass es auf 2 MB als kompilierten Standard zurückfällt, wenn es mit einem schlechten Wert konfrontiert wird.
Andererseits glaube ich nicht, dass
upload_max_filesize
mit eingestellt werden könnteini_set()
. Die "offizielle" Liste gibt an, dass dies der Fall istPHP_INI_PERDIR
.quelle
.htaccess
und auch mit verwendenini_set
. Vielleicht aber nicht in allen Versionen.Verwenden Sie einen Shared Hosting-Anbieter? Es können Master-Einstellungen sein, die alles überschreiben, was Sie ändern möchten. Haben Sie versucht, diese zu Ihrem .htaccess hinzuzufügen?
quelle
php.ini
Datei zugegriffen wird. Ermöglicht das Festlegen dieser Berechtigungen nach Bedarf und nicht als globale Einstellung.Da ich gerade auf einem gemeinsam genutzten Host auf dieses Problem gestoßen bin und die Werte nicht zu meiner .htaccess-Datei hinzufügen konnte, dachte ich, ich würde meine Lösung freigeben.
Ich habe eine INI-Datei mit den darin enthaltenen Werten erstellt. So einfach ist das:
Erstellen Sie eine Datei mit dem Namen ".user.ini" und fügen Sie Ihre Werte hinzu
Boom, Problem gelöst.
quelle
Ich habe dies mit einer .user.ini-Datei im selben Verzeichnis wie mein index.php-Skript, das meine App lädt, zum Laufen gebracht. Hier sind die Inhalte:
Dies ist die empfohlene Lösung für Heroku.
quelle
Dies kann auch mit der Apache-Konfiguration gesteuert werden. Überprüfen Sie die httpd.conf und / oder .htaccess auf Folgendes:
quelle
Wenn Sie auf einem lokalen Server wie wamp oder xampp ausgeführt werden, stellen Sie sicher, dass die von Ihnen angenommene php.ini verwendet wird. Diese Server verwenden normalerweise standardmäßig eine php.ini, die sich nicht in Ihrem HTML-Dokumentordner befindet.
quelle
Diese Lösung kann nur angewendet werden, wenn das Problem bei einer WordPress-Installation auftritt!
Wenn Sie keinen FTP-Zugang haben oder zu faul sind, um Dateien zu bearbeiten,
Sie können das Plugin Maximale Upload-Dateigröße erhöhen verwenden, um die maximale Upload-Dateigröße zu erhöhen.
quelle
Standardmäßig erlaubt PHP das Hochladen von maximal 2 MB Dateien auf den Server. Sie können jedoch die maximale Größe des Datei-Uploads gemäß Ihren Bedingungen ändern. Mit der PHP-Konfigurationsdatei php.ini können Sie die Größe des Datei-Uploads in PHP erhöhen oder verringern.
Öffnen Sie zuerst die Datei php.ini in Ihrem Texteditor. Durchsuchen Sie die Variable upload_max_filesize und legen Sie die Größe fest, die Sie erhöhen möchten.
Suchen Sie nach der Variablen post_max_size und legen Sie die Größe fest, die Sie erhöhen möchten.
Sie können dies von hier aus überprüfen
quelle
Wenn Sie ini_set im laufenden Betrieb verwenden, finden Sie hier http://php.net/manual/en/ini.core.php die Informationen, die z. B. upload_max_filesize und post_max_size im laufenden Betrieb nicht geändert werden können (PHP_INI_PERDIR).
Nur eine Änderung der Konfiguration von php.ini, .htaccess oder vhost scheint diese Variablen zu ändern.
quelle
Ich hatte das gleiche Problem, aber ich fand heraus, dass nicht alle Konfigurationseinstellungen mit der Funktion ini_set () festgelegt werden konnten. Überprüfen Sie dies , wenn eine Konfigurationseinstellung festgelegt werden kann
quelle
Sie können auch in der PHP-Datei wie folgt verwenden
quelle