php程序执行超时解决办法(Fatal error: Maximum execution time of 30)
报这个错误不是说php执行时间越过了配置文件中设置的最大执行时间30秒钟,不是你的程序错误,而
是系统的配置文件问题,如果你的网速快服务器配置高的话,再执行一次就不会出现这种错误了
有了出现这种问题也可以进行一下修改:
1.修改php的配置文件,找到php.ini文件,它一般应该放在你的C:WINDOWS目录下,然后找到max_execution_time = 30 ;
//设置成你想要的值,单位是秒
这一行,这就是设置的执行时间最大值为30秒,你可以对这个值进行一下修正,改为你的期望值。
2.使用ini_set()函数,不是所有人都能修改php.ini文件的,那么你可以使用这个函数来改变你的最大执行时间限制值,如:
ini_set(‘max_execution_time’, ’100′);
//设置成你想要的值,单位是秒
3:直接在页面加程序
可用程序修改:set_time_limit (0);
今天本来说要测试一个新网站的,结果发现打开之后提示Fatal error: Call to undefined function get_header() in 错误了,下面我就给大家整理此问题解决办法。效果就成这样了。
Fatal error: Call to undefined function get_header() in /home/wwwfulis/public_html/index.php on line 1;
在wordpress中这个应该算是比较正常的情况,因为基本都是调用模板函数,简单翻译一下就是get_header()这个函数没有定义。
到网 站查询了很多资料都没有显示有效的结果,没办法只好根据他们提供的信息综合分析一下,最后发现这个问题导致的原因有如下的几种,
1.检查这个函数是否是拼写错误 在php里,内置有get_headers() 函数,但是在xammp上面能够调制,为什么在这上面就不能调试了呢。 该函数的功用是:返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息
2.检查是否在其它地方定义了这个函数.
如果自己有设置主机php.ini的权限,不操心log的话,可以修改如下,就不会有错误提示了:
代码如下 | 复制代码 |
|
因为没有权限懂php.ini,于是,我在index.php中添加不显示运行错误:
代码如下 | 复制代码 |
<?php ini_set('display_errors', 0); ?> |
这样以后就没有了错误提示,可是error-log中依旧记录着该错误,如何不记录这个错误呢?如果直接加载index.php且没有定义get_header()这个函数,就直接重定向到网站首页,所以一个简单地判断就可以搞定了。
代码如下 | 复制代码 |
<?php ini_set('display_errors', 0); ?> <?php /* @FileName:index.php @Aurthor: OneDou [http://oneodu.com] @LastModifed:2013-6-10 下午11:27:33 @Charset:UTF-8 */ if (function_exists('get_header')) { get_header(); }else{ header("Location: http://" . $_SERVER['HTTP_HOST'] . ""); exit; }; ?> |
Ok,这样如果直接访问index.php就被重定向到了首页
在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文字符串的截取是比较适合的但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的..拉过来一起做一个字,所以出现了PHP substr中文乱码。
substr --- 取得部份字符串
语法 : string substr (string string, int start [, int length])
说明 :
substr( )传回 string的一部份字符串,由参数 start和 length指定。
如果 start是正数,传回的字符串将会从 string的第 start个字元开始。
Example :
代码如下 | 复制代码 |
|
如果 start是负数,传回的字符串将会从 string结尾的第 start个字开始。
Example :
代码如下 | 复制代码 |
|
如果有给予参数 length而且是正数时,传回的字符串将会从 start传回 length个字元。
如果有给予参数 length而且是负数时,传回的字符串将会结束于 string结尾的第 length个字元。
Example :
代码如下 | 复制代码 |
|
对于英文没有问题,我们测试一个中文
代码如下 | 复制代码 |
<?php |
这种截取字符的结果,肯定不是我们想要的结果,这种出现PHP substr中文乱码的情况,可能会导致程序无法正常运行。解决办法主要有两种:
一、使用mbstring扩展库的mb_substr()截取就不会出现乱码了。
可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。
代码如下 | 复制代码 |
<?php |
如果未指定最后一个编码参数,会是三个字节为一个中文,这就是utf-8编码的特点,若加上utf-8字符集说明,所以,是以一个字为单位来截取的。
使用的时候要注意php文件的编码,和网页显示时的编码。使用这个mb_substr方法要事先知道字符串的编码,如果不知道编码,就需要判断,mbstring库还提供了mb_check_encoding来检验字符串编码,但还不完善。
PHP 自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。前者在处理中文时,GBK 为 2 个长度单位,UTF 为 3 个长度单位,后者指定编码后,一个中文即为 1 个长度单位。
substr 有时会截 1/3 个中文或半个中文,会显示乱码,相对来说 mb_substr 更适合我们使用。不过有时候 mb_substr 就显得不那么好用了。例如我要显示一个小图片的简要信息,5 个中文正好,超过 5 个就截取前4再加上 ”…”,这样处理中文是没问题了,可是处理英文或数字,这样截取就太短了。
二、自己书写截取函数,但效率不如用mbstring扩展库来得高。下面是ecshop里面的截取UTF-8编码下字符串的函数。
代码如下 | 复制代码 |
function sub_str($str, $length = 0, $append = true) |
经试验发现fread函数单次最大能够读取的字节数是有限制的,仅为8192个字节,即8KB,对于超过这个大小的文件,如果要完整读取,则需要循环读取直至文件结尾。综合以上做了些改正,以下代码是休整之后的代码,经测试问题解决。
代码如下 | 复制代码 |
|
phpmyadmin提示:
The mbstring extension is missing. Please check your PHP configuration.
其实只要运行一段:yum install php-mbstring,就OK了,收工!
如果用的是linux的话,可能是这个问题:
查看一下 /etc/php5/mods-available/json.ini 这个文件,把第二行开头的分号去掉,也就是去掉注释。然后保存,重启php就可以了。
相关文章
PHP session_start()很慢问题分析与解决办法
本文章来给各位同学介绍一下关于PHP session_start()很慢问题分析与解决办法,希望碰到此问题的同学可进入参考。 最近在做东西的时候发现一个问题 有一个接口挂...2016-11-25php中json_decode()和json_encode()用法与中文不显示解决办法
本文章介绍了关于php中json_decode()和json_encode()用法与中文不显示解决办法,有需要的朋友可以参考一下下。 php中json_decode()和json_encode() 1.json_decode(...2016-11-25- 在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
- 401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面...2017-01-22
- Apache status 503 的原因大致有如下几种情况 : 1、 CPU 负载过高,服务器响应不过来,返回503 2、 系统连接数超限,超过MaxVhostClients的上限,返回503 3、 单IP连接数超限,超过M...2016-01-28
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 今天用CPAN安装Term::ReadLine,报了个这样的错误 Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "C...2016-11-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 引发这个问题思考的是一段js程序的运行结果: 复制代码 代码如下: var i = 0; function a(){ for(i=0;i<20;i++){ } } function b(){ for(i=0;i<3;i++){ a(); } return i; } var Result = b(); 这段程序的运行结果是Re...2014-05-31
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 下面给大家介绍phpstudy访问速度慢的解决办法。1、修改mysql数据库链接地址为ip地址127.0.0.1。2、使用最新版本,这个坑了我好久时间。下面一段内容是关于phpstudy启动失败的解决办法。php5.3、5.4和apache都是用vc9编...2015-11-24
- 自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果...2014-05-31
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 分享给大家php判断上传文件类型的方法,大家一起学习学习。/** * 读取文件前几个字节 判断文件类型 * @return String */ function checkTitle($filename){ $file=fopen($filename, "rb"); $bin=fread($file, 2); /...2015-10-21
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- v-for标签可以用来遍历数组,将数组的每一个值绑定到相应的视图元素中去,下面这篇文章主要给大家介绍了关于在Vue.js中轻松解决v-for执行出错的三个方案,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2017-06-15