Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于上传文件的限制,懂的帮忙来看一下

[复制链接]
cnteacher 发表于 2004-5-12 17:43:02 | 显示全部楼层 |阅读模式
系统:
redhat 9+Apache 2.0 Filter+php 4.2.2

不知道怎么回事,上传大于512k的文件的时候就会显示找不到服务器。而且是没有经过上传过程,直接就找不到服务器了。

看了一下apache日志,发现上传的时候,造成下面的错误信息:
[Wed May 12 17:05:10 2004] [error] [client 10.133.9.4] Requested content-length of 2025891 is larger than the configured limit of 524288

我想,这应当是对上传文件的限制吧,可是在httpd.conf 里面找不到这个设置。

php.ini 里面到是有,可以我都已经设置成 8M 了。



另外error_log 里面还有些错误信息不知道是什么原因造成的

[Wed May 12 17:04:58 2004] [notice] Digest: generating secret for digest authentication ...
[Wed May 12 17:04:58 2004] [notice] Digest: done
[Wed May 12 17:04:59 2004] [info] (32)Broken pipe: core_output_filter: writing data to the network
[Wed May 12 17:04:59 2004] [notice] Apache/2.0.40 (Red Hat Linux) configured -- resuming normal operations
cqfanli 发表于 2004-5-12 18:32:19 | 显示全部楼层
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

一般PHP上传的限制设置在php.ini里面了,注意更改后要重新启动才会生效!
回复

使用道具 举报

 楼主| cnteacher 发表于 2004-5-12 19:36:23 | 显示全部楼层
Originally posted by cqfanli at 2004-5-12 06:32 PM:
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
;  ...



这个设置我还是知道的,而且我都设置到了8M了,还是如此。
重起我也搞过,不但是apache 重起过,连服务器都重起过。没用。

而且这个错误提示是apache的,和php关系不打,因为php程序还没有运行,apache已经给截住了,并返回了无法显示的信息。
回复

使用道具 举报

密码 发表于 2004-5-12 20:10:25 | 显示全部楼层
Originally posted by cnteacher at 2004-5-12 05:43 PM:
524288

这个设置在另外一个文件里面! /etc/httpd/conf.d/ 下的php.conf
回复

使用道具 举报

up1m 发表于 2004-5-12 21:37:12 | 显示全部楼层
php.ini里超时时间30秒太短了,改长点,比如300秒
回复

使用道具 举报

cqfanli 发表于 2004-5-12 21:39:07 | 显示全部楼层
他的才512K,我觉得httpd.con里面就是设置10s也可以上传OK啦
回复

使用道具 举报

密码 发表于 2004-5-12 22:28:13 | 显示全部楼层

php.conf中

默认设置如下

  1. #
  2. # PHP is an HTML-embedded scripting language which attempts to make it
  3. # easy for developers to write dynamically generated webpages.
  4. #

  5. LoadModule php4_module modules/libphp4.so

  6. #
  7. # Cause the PHP interpreter handle files with a .php extension.
  8. #
  9. <Files *.php>
  10.     SetOutputFilter PHP
  11.     SetInputFilter PHP
  12.     LimitRequestBody 524288
  13. </Files>

  14. #
  15. # Add index.php to the list of files that will be served as directory
  16. # indexes.
  17. #
  18. DirectoryIndex index.php
复制代码


这个是限制php程序读取的文件大小. 本地测试,当使用默认值时,上传大于512K的文件会发生错误(并不是连接超时). 只要把524288适当改大(我是在后面加了两个0;)),大附件就可以上传了.

[ Last edited by 密码 on 2004-5-12 at 10:36 PM ]
回复

使用道具 举报

cqfanli 发表于 2004-5-12 22:46:34 | 显示全部楼层
哈,我猜楼上的朋友说的没有错,我没有看仔细,cnteacher 是用的filter来实现的哦!
这个答案也许是正确的了
回复

使用道具 举报

 楼主| cnteacher 发表于 2004-5-13 00:06:29 | 显示全部楼层
Originally posted by 密码 at 2004-5-12 10:28 PM:
默认设置如下
[code]
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#

LoadModule php4_module modules/ ...


高人啊,问题解决了。

以前一直没有注意,要不是最近总是有人反映我的论坛无法上传大的附件,我还蒙在鼓里呢。

看来真的是有太多东西要学了。
回复

使用道具 举报

 楼主| cnteacher 发表于 2004-5-13 00:09:29 | 显示全部楼层
Originally posted by cqfanli at 2004-5-12 10:46 PM:
哈,我猜楼上的朋友说的没有错,我没有看仔细,cnteacher 是用的filter来实现的哦!
这个答案也许是正确的了


除了filter,还有其他方式么?哪种效率比较高啊?

linux我真是一窍不通,全部都是rh默认安装的。

有时间的话,我把root给你,你给我整治一下吧。

[ Last edited by cnteacher on 2004-5-13 at 12:11 AM ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 20:24 , Processed in 0.039656 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表