网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   PHP (https://www.0058.net/forumdisplay.php?f=75)
-   -   修改php上传限制 (phpmyadmin 限制) (https://www.0058.net/showthread.php?t=4871)

Nassau 2014-11-27 01:17 PM

修改php上传限制 (phpmyadmin 限制)
 
方法一:修改 php.ini


相关参数解释:



file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹。

upload_max_filesize = 2m ;望文生意,即允许上传文件大小的最大值。默认为2M

post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
max_execution_time = 30 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 60 ;每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit = 128m ;每个PHP页面所吃掉的最大内存,默认128M。如果觉得小了,可以设置大点。128够用。

max_execution_time = 600
max_input_time = 600
upload_max_filesize = 32m
post_max_size = 32m



把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了



方法二,利用.htaccess文件

此法不用直接.修改php.ini,适用于虚拟主机。



配置Apache支持.htaccess

//找到
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

//修改为

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

//就可以了

在目录下新建一个.htaccess文件,windows默认是不允许这么干的, 可以在Dreamweaver的文件管理下新建,就不会了。



.htaccess里写入

php_value post_max_size 12m
php_value upload_max_filesize 12m
php_value max_execution_time 120
php_value max_input_time 240



就OK了



补充解释:

使用ini_set("post_max_size","80M");的方法是行不通的。

post_max_size的可修改范围是PHP_INI_PERDIR。
PHP_INI_PERDIR是域内指令只能在php.ini、httpd.conf或.htaccess文件中修改,故行不通。


php_value name value
设定指定指令的值。仅能用于 PHP_INI_ALL 和 PHP_INI_PERDIR 类型的指令。要清除上一个设定的值,将值设为 none 。



注: 不要用 php_value 来设定布尔值。应该用 php_flag (见 下面)来替代。
php_flag name on|off
用于设定布尔值类型的配置指令。仅能用于 PHP_INI_ALL 和 PHP_INI_PERDIR 类型的指令。


php_admin_value name value
设定指定指令的值。不能在 .htaccess 文件中使用。任何在 php_admin_value 中设定的值不能被 .htaccess 或者 virtualhost 中的指令覆盖。要清除上一个设定的值,将值设为 none 。


php_admin_flag name on|off
用于设定布尔值类型的配置指令。不能在 .htaccess 文件中使用。任何在 php_admin_flag 中设定的值不能被 .htaccess 或者 virtualhost 中的指令覆盖。



修改phpmyadmin/phpmygoodadmin导入文件大小限制
找到php.ini文件
Code:

#sudo gedit /etc/php5/apache2/php.ini
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 128M
#sudo /etc/init.d/apache2 restart

方法三



在使用phpMyadmin导入数据库的时候,因为脚本在上传的时候响应时间过长,导致大于2M的数据偶尔会导入失败。而且大多数默认设置,只能导入2M的数据。



遇到这种情况,
我们可以修改php.ini以及import.php对应的$memory_limit大小限制。
还可以直接导入服务器上任意大小的SQL文件。



这里说一下第二个方法:

首先,打开phpMyAdmin根目录下的config.inc.php文件,然后找到 $cfg['UploadDir']
修改为
$cfg['UploadDir'] = ‘ck-import’

然后通过FTP将数据库上传到ck-import文件夹。

保存代码后,在phpMyadmin的后台操作页面会多出来一个(web server upload directory)。
在下拉列表里面选择你需要导入的数据库,就可以导入大文件了

同理在备份数据库的时候也可以直接保存在服务器上,修改 $cfg['SaveDir'] = ‘backup’ 参数即可。



1. Open file \phpmyadmin\libraries\config.default.php

2. Change the variable

$cfg['ExecTimeLimit'] = 300;

to

$cfg['ExecTimeLimit'] = 0;

方法四
Code:

mysql -h yourhostname -u username -p databasename < yoursqlfile.sql


All times are GMT +8. The time now is 11:07 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.