linux php不能上傳資料夾的解決方法:1、在mount的目錄裡面建立一個upload_tmp資料夾;2、把「upload_tmp_dir=」設定成「website/upload_tmp」;3、重啟apache即可。
本文操作環境:linux5.9.8系統、PHP7.1版,DELL G3電腦
linux php無法上傳資料夾怎麼辦?
php上傳不到檔案(Linux 伺服器)
今天發現突然就上傳不到檔案了php.ini的設定已經是.
環境:linux(Centos 5.3) Apache php mysql
網站目錄檔:使用smb掛載windows 伺服器的磁碟陣列共用
網站目錄權限: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
--------------------------- ---------------------------
可CMS系統一直提示說沒有足夠的權限,查閱相關資料得知php .ini檔案中有一個指定暫存資料夾的參數(會把所有上傳的檔案放到暫存資料夾裡面)
即:
#--------- --------------------------------------------
;upload_tmp_dir =
------------------------------------------------- ----
上面預設是註解的,也就是會使用虛擬記憶體來做儲存
當記憶體使用滿了就會出現上傳不到檔案的問題了,也就是會提示777錯誤
使用df - h 指令查詢發現結果如下:
-------------------------- -------------------------------------------------- ----------
/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已經滿了,所以我把改成在mount的目錄裡面建立了個upload_tmp資料夾,把剛才的「upload_tmp_dir = 」設定成「upload_tmp_dir =/www/web/ website/upload_tmp
」
儲存後重啟了一下apache,恢復上傳了.
注意:要給上傳的目錄777權限包括下面的子目錄 chmod -R 777 目錄名
總結:
臨時檔案最好是還是設定成掛載的磁碟空間(最好大一點),因為tmpfs預設值會是實體記憶體的1/2倍,上傳幾個文件很快就會滿了,這樣會引起文件上傳不了,所以配置各種網站環境的時候應該注意臨時文件存放的目錄.
推薦學習:《PHP視頻教程》
以上是linux php不能上傳資料夾怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!