php修改上传大附件
修改php.ini的修改方法修改配置,修改/etc/php.ini (系统中只找到这个php.ini文件,也是后面错误的关键)
参
数
|
设 置
|
说
明
|
file_uploads
|
on
|
是否允许通过HTTP上传文件的开关。默认为ON即是开 |
upload_tmp_dir
|
—
|
文件上传至服务器上存储临时文件的地方; 必须注释掉前面的 ; 号,然后给个合法路径 |
upload_max_filesize
|
300m
|
即允许上传文件大小的最大值。默认为2M |
post_max_size
|
300m
|
指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M |
一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题;但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数
参
数
|
设置
|
说
明
|
max_execution_time
|
600
|
每个PHP页面运行的最大时间值(秒),默认30秒 |
max_input_time
|
600
|
每个PHP页面接收数据所需的最大时间,默认60秒 |
memory_limit
|
8m
|
每个PHP页面所吃掉的最大内存,默认8M |
修改后(上述表格中的8M,在我这里都设置成20M),重启apache,但是还是不行。
发现结果可能的是:系统中,apache根本没有载入读取到这个php.ini
如何显示到底读取那个php.ini?当前php的maxfile配置是多少?还好知道有一个phpinfo,写一个php页面:非常简单就只有:
<?php echophpinfo(); ?>
把php的所有信息都打印出来。
检查:果然max_filesize只有1M,php.ini读的也不是/etc下的。按照phpinfo中显示的php.ini的目录位置,把php.ini文件复制过去,重启apache,问题解决了。
还有一种方法,在apache中指定php的配置文件:
在Apache中改变php.ini的路径的方法如下: 打开httpd.conf, 找到LoadModule php5_module "E:/apm/php-5.2.11-win32/php5apache2_2.dll" 在其下面增加多一行代码: PHPIniDir "E:/apm/php-5.2.11-win32/php.ini" 即php.ini所在的文件夹; (APMServ 安装在win 2003 情况下) 保存,重启Apache即开始生效。 |