首页  >  文章  >  后端开发  >  linux php不能上传文件夹怎么办

linux php不能上传文件夹怎么办

藏色散人
藏色散人原创
2021-09-12 10:36:122084浏览

linux php不能上传文件夹的解决方法:1、在mount的目录里面建立一个upload_tmp文件夹;2、把“upload_tmp_dir=”设置成“website/upload_tmp”;3、重启apache即可。

linux php不能上传文件夹怎么办

本文操作环境: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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn