Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn Linux PHP einen Ordner nicht hochladen kann?

Was soll ich tun, wenn Linux PHP einen Ordner nicht hochladen kann?

藏色散人
藏色散人Original
2021-09-12 10:36:122047Durchsuche

Lösung für das Problem, dass Linux PHP keinen Ordner hochladen kann: 1. Erstellen Sie einen upload_tmp-Ordner im Mount-Verzeichnis. 2. Setzen Sie „upload_tmp_dir=" auf „website/upload_tmp".

Was soll ich tun, wenn Linux PHP einen Ordner nicht hochladen kann?

Die Betriebsumgebung dieses Artikels: Linux5.9.8-System, PHP-Version 7.1, DELL G3-Computer

Was soll ich tun, wenn Linux PHP den Ordner nicht hochladen kann?

php kann die Datei nicht hochladen ( (Linux-Server)

Heute habe ich festgestellt, dass Dateien plötzlich nicht mehr hochgeladen werden konnten. Die Konfiguration von php.ini ist bereits vorhanden.

Umgebung: Linux (Centos 5.3) + Apache + PHP + MySQL

Website-Verzeichnisdatei: Verwenden Sie smb Mounten Sie die Festplatten-Array-Freigabe des Windows-Servers

Website-Verzeichnisberechtigungen: 777

php.ini:

-------------------------- --------------------------

upload_max_filesize = 200M
max_file_uploads = 20
post_max_size = 200M
max_execution_time = 60000
max_input_time = 6000
;max_input_nesting_level = 64
memory_limit = 256M

------- -------------------------- ---------- --

Aber das CMS-System meldet immer wieder, dass es nicht über genügend Berechtigungen verfügt. Nachdem ich die relevanten Informationen konsultiert habe, habe ich festgestellt, dass in der php.ini-Datei ein Parameter des temporären Ordners angegeben ist (alle hochgeladenen Dateien werden dort abgelegt). der temporäre Ordner)

Das heißt:

------------------------ --------------- -----------------

;upload_tmp_dir =

------------------ ------------ ----------------------

Das Obige ist standardmäßig kommentiert, was bedeutet, dass der virtuelle Speicher verwendet wird.

Wenn der Speicher voll ist, wird dies der Fall sein Es könnte ein Problem sein, dass die Datei nicht hochgeladen werden kann, d. h. ein 777-Fehler wird angezeigt

Verwenden Sie den Befehl df - h zur Abfrage. Die Ergebnisse lauten wie folgt:

----------- - ------------------------------------------------- - -----------------------

/dev/mapper/VolGroup00-LogVol00
                       29G 28G 0 100% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 1014M 0 1014M 0% /dev/shm
//192.168.1.100/website 322G 21G 301G 7% /www/web/website

------------------------------------ -- ------------------------------------------------ -- --------------

tmpfs ist voll, also habe ich es geändert, um einen upload_tmp-Ordner im Mount-Verzeichnis zu erstellen und „upload_tmp_dir =" auf „ upload_tmp_dir =/www/web/“ zu setzen. website/upload_tmp

Starten Sie nach dem Speichern Apache neu und setzen Sie den Upload fort.

Hinweis: Erteilen Sie dem hochgeladenen Verzeichnis 777 Berechtigungen, einschließlich der folgenden Unterverzeichnisse chmod -R 777 Verzeichnisname

Zusammenfassung:

Es ist am besten, das Temporäre festzulegen Datei auf den gemounteten Festplattenspeicher (vorzugsweise größer), da der Standardwert von tmpfs die Hälfte des physischen Speichers beträgt und das Hochladen einiger Dateien ihn schnell ausfüllt Es führt dazu, dass das Hochladen der Dateien fehlschlägt Bei der Konfiguration verschiedener Website-Umgebungen sollten Sie auf das Verzeichnis achten, in dem temporäre Dateien gespeichert sind.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Linux PHP einen Ordner nicht hochladen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn