Fatal error: Call to undefined function_PHP教程

php中文网
发布: 2016-07-14 10:08:34
原创
2577人浏览过

PHP常见错误处理之致命错误(一)----函数未定义

 
一、错误类型:PHP致命错误
Error type: PHP Fatal error
Fatal error: Call to undefined function (a) in (b) on line (c)
 
二、错误描述:
该错误报告表示你正企图调用未经定义的函数(function),其中
a----表示未定义的函数名;
b----出现该段脚本的路径;
c----企图调用未定义函数的行号。
d----第二次定义该函数时的行号。
 
三、原因及解决方法:
原因1:你的确没有声明过该函数。例如,直接调用下面的函数
myFunction();// 这里根本就没有这个函数
结果如下
Fatal error:Call to undefinedfunction myFunction()in(path) on line 1
解决:
仔细检测你的程序中是否声明过该函数。
 
原因2:你在函数声明时用的名称和你在调用时用的名称不相同,例如
function myFunction(){// do something}myFuntion();// 这里少写了一个字母C
解决:这是很多初学者最容易犯的一个错误。有时候因为少写,或者多写,写错一个字母而导致很长时间都检查不出来。
 
原因3:你在老版本的PHP下调用新版本的PHP内置函数而产生的错误。因为你的老版本中这个PHP内置函数根本就不存在。例如,你在PHP老版本中调用mime_content_type()
Fatal error:Call to undefinedfunction mime_content_type()
解决:翻开PHP手册仔细核对你所使用的内置函数到底适用于PHP的哪些版本。在PHP手册当中对每一个内置函数都注明了详细的版本限制。例如(PHP 4 >= 4.3.0, PHP 5).所以,解决办法就是升级你的PHP版本,或者改换同类型的其他内置函数。
 
原因4:你对该函数的调用代码,写在了与函数声明不同的文件中。例如,你在a.php文件中写了这样的代码
myFunction();
而你的函数声明却在b.php中
function myFunction(){// do something}
解决:这种情况一般发生在PHP初学者身上,他们在调用函数时却忘了PHP不会自动的进行文件关联或引用。也就是说上面的情况中a.php与b.php根本就不会产生任何关系。这个时候你需要使用include()之类的函数将两者关联起来。
 
原因5:你对该函数的调用代码,写在了与函数声明不同的文件中,你也引入了该文件。但是你的函数调用代码位于引入文件代码之前。例如,你在a.php执行函数调用,而在b.php中声明函数
a.php代码
myFunction();include('b.php');
b.php代码
function myFunction(){ echo '123';}
解决:像上面的代码这样,在执行时就会报错。因为PHP在执行函数调用时找不到该函数的声明。所以,绝对不要把函数的调用写在函数声明文件被引入之前。当然,如果你是在同一个php文件当中,你完全可以把调用函数写在函数声明之前。
原因6:你连续两次使用相同名称来定义一个函数,例如
function myFunction(){} 
function myFunction(){}
结果如下
Fatal error:Cannot redeclare myfunction()(previously declared in(path):2)in(path) on line 1
解决:
找到已经声明过的函数,看看是什么需要导致你再次定义了它。如果只是单纯的忘记之前已经定义过,那么将其中一个声明删除掉就是。当然,你的情况可能给复杂。比如你的脚本文件排列异常混乱,并且你可能使用了大量的include()之类的函数,这将导致你很难从混乱的代码当中理清思路。
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477759.htmlTechArticlePHP常见错误处理之致命错误(一)----函数未定义 一、错误类型:PHP致命错误 Error type: PHP Fatal error Fatal error: Call to undefined function (a) in (b) on...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号