2024-09-23 20:07:16 | 我爱编程网
一、错误类型: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()之类的函数,这将导致你很难从混乱的代码当中理清思路。
我爱编程网(https://www.52biancheng.com)小编还为大家带来php闭包函数用use传参有什么意义?的相关内容。
所谓闭包,就是定义一段代码,同时对当时的运行上下文做一个快照,并捆绑在一起,用于在将来的某个时候让这段代码在当初的这个上下文中运行。 如你所写,当这个函数被当作函数返回值时,在别的地方调用时,还还可以使用$d,$e,$f的值。
function print_log($person,$word) {以上就是我爱编程网小编给大家带来的php 中 fsockopen() 函数是什么意思 怎么用,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com
echo($person.'say:'.$word."\n");
}
function print_log_by($person){
return function($log) use(&$person) {
print_log($person,$log);
};
}
$my_print_log = print_log_by('student1');
$my_print_log("hello");
$your_print_log = print_log_by('student2');
$your_print_log('hello');
PHP取余函数介绍MOD(x,y)与x%y取余函数PHP取余函数PHP两个取余MOD(x,y)x%yMOD例如:9/3,9是被除数,3为除数.mod函数是一个求余函数,其格式为:mod(nExp1,nExp2),即是两个数值表达式作除法运算后的余数。那么:两个同号整数求余与你所知的两个正数求余完全一样(即两个负整数与两个正整数的算法一样)。一、两个异号整数求余
在PHP中函数bcpow是什么意思求一高精确度数字次方值。语法:stringbcpow(stringx,stringy,int[scale]);返回值:字符串函数种类:数学运算内容说明:此函数求一高精确度数字x的y次方。结果亦以字符串返回。scale是一个可选项,表示返回值的小数点后所需的位数范例:<?phpechobcpow('4.2','3',
PHP是什麽(我想要详细一点的答案)PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP独特的语法混合了C、Java、Perl以及PHP自创新的
PHPcurl_init简介在PHP编程中,curl_init()函数扮演着关键的角色,它用于(版本要求:PHP4从4.0.2开始)[1]初始化一个CURL会话。这个函数的主要作用是创建一个新的CURL操作环境,生成一个CURL句柄,这个句柄将在后续的curl_setopt(),curl_exec(),以及curl_close()等函数中被调用。当你调用curl_init()时,如果没
PHP中,function是什么意思?有什么作用?function就是自定义函数如:functionjia($a){$b=$a+10;return$b;}以上就是一个自定义函数,下面看看怎么使用它echojia(‘10’);显示结果为20//这里jia就是自定义的函数名,这样只要给$a任何数字返回的结果都为+10的结果,这样就是自定义了一个函数,这个
php的ord与chr函数疑问楼主你错了,php并不是采用什么编码的问题,而是你要输出的编码问题你把php写成u8/gb2312它都可以正常使用,区别在于,在chr里得到的是什么,chr虽然可以返回一个编码大于127的字符,但是这并不意味着php可以正常解析u8/gb2312,一个汉字在GB2312中由两个字节组成,也就是FFFF,而在u8里是FFFFFF,而chr只拿到了第一个FF,
php中define是什么意思define是php里定义常量用的。第一个参数是常量名,第二个是常量的值。你在研究ecshop吧,呵,里面经常用到。它定义这个常量的作用是防止被引用文件的非法载入,你会发现在另一甫紶颠咳郯纠奠穴订膜个地方会有:if(!defined('IN_ECS')){die('Hackingattempt');}它的意思是检测是否存IN_ECS这
php中__FILE__是什么意思php中__FILE__是一个魔术常量,它会返回当前执行PHP脚本的完整路径和文件名。自PHP4.0.2版本起,它总是包含一个绝对路径。本文操作环境:windows10系统、php7.3、thinkpadt480电脑。文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自PHP4.0.2起,__FILE__总是包含一个绝对路径(如果是
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00