找回密码
 立即注册
搜索
查看: 274|回复: 15

php写大文件到mysql问题

[复制链接]

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2004-3-8 14:08:07 | 显示全部楼层 |阅读模式
windows xp
apache 2.0.48
php4.34
mysql4.0.18

用 php 写数据到 longblob 类型的表,如果数据大于8~9M,就会出错

把 sql 文写到文本文件(10多兆),查看正常

直接在mysql命令行执行 那个文本文件 也正常

查看mysql 的 log, 发现php没有传完整sql文,传到大约8兆多数据的时候被截断

php.ini中memory_limit 已改到128M
mysql 的变量max_allowed_packet设为50兆

有可能是什么问题? 有人遇到过吗?????

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2004-3-8 14:42:09 | 显示全部楼层
遇到过,我写jsp的时候遇到过,后来查出来,是webserver的http超时了,现在总结的经验是,由于http的限制,上传文件不能过大。
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
 楼主| 发表于 2004-3-8 14:46:22 | 显示全部楼层
我把那个sql文存到本地了
用php直接读文件到变量,发给mysql
不应该是http超时啊
回复

使用道具 举报

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2004-3-8 17:32:18 | 显示全部楼层
哦,如果是这样,就是与http无关,为什么不能写呢? 不知道了,php.ini中的max_execution_time和max_input_time你加大了吗? 是多少值呢?
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
 楼主| 发表于 2004-3-8 17:47:36 | 显示全部楼层
谢了,好像不该有问题
max_execution_time = 3000     ; Maximum execution time of each script, in seconds
max_input_time = 6000        ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M

可是。。。。。
彻底晕了
回复

使用道具 举报

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2004-3-8 22:06:27 | 显示全部楼层
一个3秒,一个6秒,内存128M,恩。。。。计算一下,看看耗时多少出现错误啊?
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
 楼主| 发表于 2004-3-8 22:39:59 | 显示全部楼层
不是3000秒和6000秒吗?
回复

使用道具 举报

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2004-3-9 08:59:17 | 显示全部楼层
一般都是毫秒单位,不过,看max_execution_time上写的是in seconds,不确定了,你去查一查说明吧。
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
 楼主| 发表于 2004-3-9 22:59:08 | 显示全部楼层
windows上用LOAD_FILE函数总算解决了
今天想移植到solaris上,mysql root用户从命令行调用LOAD_FILE就不管用
靠,巨郁闷
回复

使用道具 举报

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2004-3-9 23:34:22 | 显示全部楼层
windows平台上怎么解决的呀? 呵呵,说说吧!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-23 01:05 , Processed in 0.093496 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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