当前位置 博文首页 > 文章内容

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

    作者:21344 栏目:未分类 时间:2021-09-12 10:43:59

    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倍,上传几个文件很快就会满了,这样会引起文件上传不了,所以配置各种网站环境的时候 应该注意临时文件存放的目录.

    推荐学习:《》