1. Maximum execution time of 30 seconds exceeded

报错一:内存超限,具体报错语句忘了,简单说一下解决办法

1> 利用循环分批导入;
2> 每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改;
3> 每个循环内部结束地方使用 ob_flush();刷新输出缓冲
                                        flush();将当前为止程序的所有输出发送到用户的浏览器
                                       
两者必须同时使用来刷新输出缓冲

报错二:30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)

解决办法:

方法一,修改php.ini文件

max_execution_time = 30; //Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。
方法二,修改php执行文件
加上
<?
set_time_limit(0);
?>

2. PHP中英文 字符串长度计算

strlen() 函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均占一个字节,它们的长度均为 1。一个中午字符占两个字节,所以一个中文字符的长度是 2。例如
<?php  
   echo strlen("www.sunchis.com");  
   echo strlen("三知开发网");  
?>

“echo strlen("www.sunchis.com");” 的运行结果:15

“echo strlen("三知开发网");”的运行结果:15

这里有一个疑问,一个中文字符不是占 2 个字节吗?“三知开发网”,明明是五个汉字,运行的结果怎么会是 15 ?

原因出在这里:strlen() 计算时,对于一个 UTF-8
的中文字符,会把它当做长度为3来处理。当出现中英文混排的情况下,怎么准确的计算字符串的长度呢?这里,得引入另外一个函数
mb_strlen()。mb_strlen() 函数的用法与 strlen() 几乎一模一样,只是多了一个指定字符集编码的参数。函数原型为:

int mb_strlen(string string_input, string encode);

PHP
内置的字符串长度函数  strlen 无法正确处理中文字符串,它得到的只是字符串所占的字节数
。对于 GB2312 的中文编码,strlen
得到的值是汉字个数的2倍,而对于 UTF-8 编码的中文,就是 3 倍的差异了(在 UTF-8 编码下,一个汉字占 3 个字节)。
因此,下面的代码能准确计算出中文字符串的长度:

<?php  
$str = "三知sunchis开发网";  
echo strlen($str)."<br>";               //结果:22  
echo mb_strlen($str,"UTF8")."<br>";     //结果:12  
$strlen = (strlen($str)+mb_strlen($str,"UTF8"))/2;  
echo $strlen;                           //结果:17  
?>
原理分析:
    strlen() 计算时,对待 UTF-8 的中文字符长度是 3,所以“三知 sunchis 开发网”的长度为 5×3+7×1=22
    在 mb_strlen 计算时,选定内码为 UTF8,则会将一个中文字符当作长度 1 来计算,所以“三知 sunchis 开发网”长度为 5×1+7×1=12

PHP相关异常的更多相关文章

  1. eureka相关异常

    1. eureka相关异常 1.1. 异常信息 Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bea ...

  2. (转载)Spring的refresh()方法相关异常

    如果是经常使用Spring,特别有自己新建ApplicationContext对象的经历的人,肯定见过这么几条异常消息:1.LifecycleProcessor not initialized - c ...

  3. Spring的refresh()方法相关异常

    如果是经常使用Spring,特别有自己新建ApplicationContext对象的经历的人,肯定见过这么几条异常消息:1.LifecycleProcessor not initialized - c ...

  4. SQLite相关异常

    SQLite的异常大多都和异常IO操作有关,这类异常通常在debug测试的时候难以发现通常和用户的操作有关系,根据我遇到的包括以下几种: 1.No transaction is active 这种情况 ...

  5. 【原】Maven解决jar冲突调试步骤:第三方组件引用不符合要求的javassit导致的相关异常

    [环境参数]开发框架:Spring + MyBatis + SpringMVC + KettleJDK版本:1.8.0_91javassist依赖版本:javassit-3.12.1.GA [障碍再现 ...

  6. Java基础 throws 提示调用方法时要注意处理相关异常

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  7. 【Nutch2.2.1基础教程之1】nutch相关异常

    1.在任务一开始运行,注入Url时即出现以下错误. InjectorJob: Injecting urlDir: urls InjectorJob: Using class org.apache.go ...

  8. windows 10下oracle相关异常及处理方法

    话说起来,不以oracle性能优化,数据库维护为主业已经有四五年了,这两年基本上以mysql为主. pl/sql登录后提示空白对话框.将ORACLE_HOME设置为oracle 11g的目录. IMP ...

  9. hive 相关异常

    内存不够: set mapreduce.map.memory.mb=4096;set mapreduce.map.java.opts=-Xmx3280m; set mapreduce.reduce.m ...

随机推荐

  1. hdu-1060(数学问题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1061 思路:结论:a=10^(N*lg(N) - [lg(N^N)]); 证明:如果一直a是结果,则a ...

  2. java反编译工具jad使用

    参考:http://blog.csdn.net/u014472711/article/details/53713269 http://lijingshou.iteye.com/blog/2005717 ...

  3. Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource Caused by: org.hibernate.DuplicateMappingException: duplicate import: Person refers to both cn.itcast.

    此错误是说有两个相同的名字的配置文件,所以不知道查找哪个.解决方法就是把不需要的那个配置文件删除. 删除mapping中不需要的那个xml文件即可

  4. Yarn application has already exited with state FINISHED

    如果在运行spark-sql时遇到如下这样的错误,可能是因为yarn-site.xml中的配置项yarn.nodemanager.vmem-pmem-ratio值偏小,它的默认值为2.1,可以尝试改大 ...

  5. The remote end hung up unexpectedly

    fatal: The remote end hung up unexpectedly 上传一份代码的时候,出现了这个错误,然后就没有成功上传. 背景操作 主要是进行svn转换到git时候出错的,转换的 ...

  6. (最大上升子序列) Super Jumping! Jumping! Jumping! -- hdu -- 1087

    http://acm.hdu.edu.cn/showproblem.php?pid=1087   Super Jumping! Jumping! Jumping! Time Limit:1000MS  ...

  7. Spring组件扫描 <context:component-scan/>

    目录(?)[-] 总结 使用方式 扫描controller下所以类 扫描符合条件Controller的类推荐 我们在SpringMVC开发项目中,有的用注解和XML配置Bean,这两种都各有自己的优势 ...

  8. 给ubuntu系统的root设置密码:

    首先输入:sudo passwd root 然后输入当前用户的密码,例如xiaomeige这个用户的密码为xiaomeige 然后输入希望给root账户设置的密码,例如密码也为root

  9. hdu 2153 仙人球的残影

    题目 这道题可以有两种写法: 第一种:找规律,如下: #include <stdio.h> int main() { int n,i,j,res; while (scanf("% ...

  10. mySQl数据库中不能插入中文的处理办法

    1. 修改MySQL安装目录下(C:\Program Files\MySQL\MySQL Server 5.5)的my.ini文件 设置: default-character-set=utf8 cha ...