首页 > 编程技术 > php

phpMyAdmin导入文件大小限制解决办法

发布时间:2016-11-25 17:39

XAMPP 的 phpMyAdmin 就会有文件大小限制、上传超时等各种问题,有一种解决办法是修改配置文件,但是我今天要推荐的是另一种方法 —— shell 命令,更加快速、直接、有效地导入数据库,可以从根本上避免文件大小限制、上传超时等问题。

有数据库服务器管理权限


找到php.ini 配置文件中的以下三个地方,upload_max_filesize, memory_limit 和post_max_size 修改大小即可。


利用命令来解决步骤如下:

第一,打开 CMD。开始 -> 运行 -> CMD。

第二,进入 mysql 目录。

 代码如下 复制代码

d:
cd d:xamppmysqlbin

第三,启动 mysql,输入用户名及密码。

 代码如下 复制代码

mysql -u wper -p
Enter password: *******

第四,选择对应的数据库名。

mysql> use wp
第五,设置 utf8 编码。

 代码如下 复制代码

mysql> set names utf8;

第六,选择 sql 数据库文件路径并导入。

 代码如下 复制代码

mysql>source d:wangeim.sql

方法三,利用一些专用的数据备份软件,这样他们可以设置导出数据的大小这样就可以解决这个问题了。

preg_match正则匹配的字符串中会出现一些问题,下面我来给大家介绍一下怎么来解决长字符串时出现错误观点的解决办法。

preg_match_all正则匹配字符串所有连接地址

 代码如下 复制代码

$str ='<a href="http://www.a.com/2010/11-15/5.html">4</a>
  <a href="http://www.b.com/2010/11-15/6.html">5</a>
  <a href="http://www.b.com/2010/11-15/1.html">6</a>
  ';

$ymd=date("y")."/".date("m-d");
$b = preg_match_all('/<a href="(.*?)com/'.$ymd.'(.*?)html">(.*?)</a>/',$a,$c,preg_set_order);


但是用preg_match正则提取目标内容,死活有问题,

代码测得死去活来。
后来发现“pcre.backtrack_limit ”的值默认只设了100000。

解决办法:

 代码如下 复制代码


ini_set(‘pcre.backtrack_limit’, 999999999);


注:这个参数在php 5.2.0版本之后可用。

另外说说关于:pcre.recursion_limit
pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。
也可以通过修改配置来限制

 代码如下 复制代码

ini_set(‘pcre.recursion_limit’, 99999);

实际项目应用中,最好也对内存进行限定设置:

 代码如下 复制代码

ini_set(‘memory_limit’, ’64M’);

如果使用的是独立的服务器,有权限修改配置文件,设置时区就可以通过修改php.ini中的date.timezone属性完成。我们可以将这个属性的值设置为\"Asia/Shang\"、\"Asia/Chongqing\"、\"Etc/GMT-8\"或PRC等中的一个

,再在PHP脚本中获取的当前时间就是北京时间。修改PHP的配置文件如下所示:
1.date.timezone = Etc/GMT-8
//在配置文件中设置默认时区为东8区(北京时间)


在需要的php程序里边加多一句:

 代码如下 复制代码

date_default_timezone_set(‘PRC’);

测试的话可以这样写写:

 代码如下 复制代码

<?php
date_default_timezone_set(‘PRC’);
?>

php无论是在windows下还是linux下安装,其默认安装配置的时区都是与中国相差8小时


也可以在服务器中打开php.ini文件,找到;date.timezone,去掉前面的分号,改成date.timezone=PRC(如果在php.ini里面找不到date.timezone,可以直接加一行date.timezone=PRC 亦可)。


在代码中设置时区

 代码如下 复制代码
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
include是php中的一个调用文件的函数,默认状态下是不可以直接像include(a.php?id=1)这样操作,下面我来介绍解决include不能带参数调用解决办法。

有时基于某些特殊需求,需要在PHP中使用include()方法调用项目中某个独立提供服务的文件,如果被调用文件使用GET方式传入数据,则需要用到一些小技巧。

举例:假设在 index.php 中需要调用 inc.php?para=3 ,

inc.php

 代码如下 复制代码

<?php     echo $_GET['para']; ?>

下面的写法是无法得到正确结果的:
index.php

 代码如下 复制代码


 <?php     include dirname(__FILE__).'/inc.php?para=3'; ?>

稍微变通一下,把$_GET变量在include之前定义,则可以正常运行:
index.php

 

 代码如下 复制代码
<?php    
$_GET['para'] = 3;    
include dirname(__FILE__).'/inc.php; ?>

如果php.ini中开启了allow_url_include功能,则可以使用include url的方式:
index.php

 代码如下 复制代码


<?php     include 'http://www.yoururl.com/inc.php?para=3'; ?>

设置方法:php.ini中,找到如下行,改为On:

 代码如下 复制代码

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On

不过为了保证安全性,大部分的服务器都将allow_url_include 功能关闭,那样就只能视情况而定了。

在php中生成图片是需要用到一个GD库的,默认情况下phpStudy都是打开了,但到了phpStudy2013之后GD库就像php默认安装一个不再开启这个功能了,要用户需配置一下。

phpStudy2013 GD支持未开启 解决方法

phpStudyAdmin控制台 - 配置文件 - php.ini

查找“extension=php_gd2.dll”,去掉“extension=php_gd2.dll”前面的“;”,保存

phpStudyAdmin控制台 - Apache服务 - 重启

标签:[!--infotagslink--]

您可能感兴趣的文章: