PHP常见错误
#
夏已微凉、
这个作者很懒,什么都没留下…
展开
-
PHP:json_encode返回false,打印var_export(json_last_error())输出5:JSON_ERROR_UTF8
【代码】PHP:json_encode返回false,打印var_export(json_last_error())输出5:JSON_ERROR_UTF8。原创 2023-03-18 22:02:40 · 582 阅读 · 0 评论 -
Captcha.php Line(191) imagettftext(): Could not find/open font
Captcha.php Line(191) imagettftext(): Could not find/open font。原创 2022-10-21 22:13:16 · 394 阅读 · 0 评论 -
PHP报错:Warning: preg_match_all(): Unknown modifier ‘<‘
【代码】PHP报错:Warning: preg_match_all(): Unknown modifier '原创 2022-09-18 16:17:28 · 443 阅读 · 0 评论 -
PHP报错:Warning: file_get_contents(): Failed to enable crypto
【代码】PHP报错:Warning: file_get_contents(): Failed to enable crypto。原创 2022-09-18 16:14:23 · 2429 阅读 · 0 评论 -
此页面处于怪异模式,排版布局可能会受到影响。若需要标准模式,请使用“!DOCTYPE html”。
【代码】此页面处于怪异模式,排版布局可能会受到影响。若需要标准模式,请使用“!原创 2022-09-12 10:30:49 · 2374 阅读 · 3 评论 -
phpExcel 报错:ERR_INVALID_RESPONSE
直接导出Excel表格浏览器下载,报错ERR_INVALID_RESPONSE。原创 2022-07-18 21:28:20 · 6064 阅读 · 0 评论 -
PHP报错:Classes\\PHPExcel\\Cell.php Line(594) Invalid cell coordinate ESIGN1
刚开始看到这个问题有点懵,只能一步步。打印,最后找到问题了,是四五个单元格。可能是之前复制了个单词。原创 2022-07-18 21:25:28 · 315 阅读 · 0 评论 -
PHP报错:Invalid body indentation level (expecting an indentation level of at least 4)
一、前言Invalid body indentation level (expecting an indentation level of at least 4)翻译过来就是:正文缩进级别无效(要求缩进级别至少为4)意思就是:内容的前面最少要有4个空格二、报错代码报错:Invalid body indentation level (expecting an indentation level of at least 4):内容的前面最少要有4个空格 $x =<<原创 2022-03-12 21:04:44 · 1139 阅读 · 0 评论 -
php7.4报错:Trying to access array offset on value of type null
一、说明二、原因三、解决1、原代码2、修改后一、说明报错原因:访问类型为 null 的值的 数组下标7.2中是没问题的,7.4中对语法规范性更为严谨二、原因原文:Trying to use values of type null, bool, int, float or resource as an array (such as $null["key"]) will now generate a notice.翻译:尝试将 null,bool,int,float 或 resource 类.原创 2022-01-01 22:23:54 · 29832 阅读 · 2 评论 -
PHP报错:Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars
一、场景二、原因三、解决1、修改 php.ini 中的 max_input_vars(不建议)2、JSON.stringify方法把数组参数改为 Json的形式传到后台(建议)一、场景POST方式传参数到接口,报错:Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0,翻译:== 警告:未知:输入变量超过.原创 2021-11-19 15:01:39 · 1962 阅读 · 0 评论 -
PHP报错:Malformed UTF-8 characters, possibly incorrectly encoded
一、场景二、原因三、解决四、总结一、场景PHP接口请求报错:Malformed UTF-8 characters, possibly incorrectly encoded二、原因字符串截取有汉字,导致乱码,如下:$string = "这是一段话";$string = substr($string, 1);echo $string; //打印:��是一段话三、解决用 mb_substr() 函数即可$string = "这是一段话";$string = mb_subst.原创 2021-11-09 14:55:41 · 1794 阅读 · 0 评论 -
PHP报错:iconv(): Detected an illegal character in input string
一、场景二、原因三、解决四、总结一、场景PHPExcel数据导出报错:iconv(): Detected an illegal character in input string二、原因字符串截取有汉字,导致乱码,如下:$string = "这是一段话";$string = substr($string, 1);echo $string; //打印:��是一段话三、解决用 mb_substr() 函数即可$string = "这是一段话";$string = mb_su.原创 2021-11-09 14:52:32 · 1299 阅读 · 0 评论 -
PHP内存溢出:Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes)
解决办法(仅供参考)1、修改 php.ini 文件2、在代码中设置3,修改.htaccess 文档(前提是该目录支持.htaccess)4、把数据尽可能的打散解决办法(仅供参考)1、修改 php.ini 文件将 memory_limit 由 8M 改成 16M(或更大),重启 apache / nginx 服务2、在代码中设置在 PHP 代码中 加入 ini_set("memory_limit", "100M");注意:为了系统的其它资源的正常使用 请您不要将 memory_limit .原创 2021-07-10 11:47:03 · 7670 阅读 · 2 评论 -
PHP:同时发送多个异步ajax请求,但数据却是按同步顺序返回
一、场景二、可能的原因三、解决办法四、参考资料一、场景虽然是异步把请求发出去了,但返回结果顺序却不对;现在要第一个AJAX把结果返回了,再返回第二个AJAX的结果;(第一个大概执行5秒,第二个就是一个输出状态的操作,执行很快)我现在就想实现,在第一个AJAX请求的过程中,第二个AJAX可以不断的返回当前状态Ajax代码如下$.ajax({ url: '/index/test/method1', data: {}, type: 'post', success.原创 2021-06-30 10:49:06 · 591 阅读 · 2 评论 -
PHP报错Warning: Unknown: Input variables exceeded 1000
一、场景二、修改前代码三、修改后代码四、解决方法一、场景post请求PHP接口,把数据作为array传给后台时报错:Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0意思是:意思就是输入(提交)的变量超过默认 1000 个了二、修改前代码js:传json数组给后台let hobby = .原创 2021-05-19 16:05:24 · 675 阅读 · 0 评论 -
PHP批量插入多条数据到Mysql报错:Mysql Prepared statement contains too many placeholders
一、原因二、解决一、原因mysql 使用 PDO 进行写入的时候,PDO支持最大占位符为 65535,我们一次写入太多,导致mysql报错~二、解决把 批量写入,改成 分批次批量写入原创 2021-05-19 15:21:17 · 447 阅读 · 0 评论 -
ThinkPhp报错:thinkphp\library\think\Template.php Line(1243) template not exists:...test\...\index.html
模板不存在,index.html 文件不存在,没找到,路径错误。原创 2021-05-17 15:58:02 · 221 阅读 · 0 评论 -
PHP接口报错:Malformed UTF-8 characters, possibly incorrectly encoded
一、场景二、内容1、代码2、打印3、错误原因一、场景PHP接口报错:Malformed UTF-8 characters, possibly incorrectly encoded,翻译:格式错误的UTF-8字符,可能编码不正确二、内容1、代码public function test() { $data = [ 'name' => '姓名', 'number' => 12345654321 ]; # 只保留数字后4位 .原创 2021-05-14 17:51:58 · 1956 阅读 · 0 评论 -
XML内容要有根标签:Extra content at the end of the document
一、场景重现二、可能的问题1、xml 没有根节点2、Linux下,无权限读取文件的xml内容一、场景重现代码public function test() { //加一个根标签root,防止转换时由于根标签有多个报错:Extra content at the end of the document in file $xml = '<?xml version="1.0" encoding="utf-8"?><user><name>姓名</na.原创 2021-05-11 09:55:08 · 2421 阅读 · 0 评论 -
PHP报错:Cannot use a scalar value as an array
一、分析二、内容1、错误示例2、正确示例三、参考地址一、分析Cannot use a scalar value as an array 这句话的意思是不可将标量作数组来使用。我看了下代码,发现是两个变量重复使用,前面变量值是一个int类型,之后没有进行unset()和 =array()来进行声明就直接用变量来做数组了。这是一个php基础知识:如果一个变量名(如a)已经被定义为非数组类型,例如integer,那么a可以被转为floating point、string(甚至是object类型),但不可.原创 2021-05-08 19:36:06 · 7107 阅读 · 0 评论 -
Request header field storeid is not allowed by Access-Control-Allow-Headers in preflight response.
一、问题二、修改一、问题在 header 中加入自定义字段 storeid,前端调接口,报错提示:Request header field storeid is not allowed by Access-Control-Allow-Headers in preflight response.大概意思是: 在请求头中不允许使用字段 storeid二、修改//允许在header中传参数:storeidheader("Access-Control-Allow-Headers: token, O.原创 2021-04-29 15:00:23 · 1204 阅读 · 0 评论 -
PHP报错 Module ‘openssl‘ already loaded in Unknown on line 0
一、问题二、解决三、扩展一、问题Module ‘openssl’ already loaded in Unknown on line 0 模块“openssl”已加载到第0行的未知中二、解决原因是php.ini重复加载了对应模块,注释 / 删除掉重复加载的模块即可三、扩展查看已经开启了那些拓展php -m //加管道过滤//windowsphp –m | findstr openssl //Linuxphp -i | grep openssl..原创 2021-04-07 16:16:57 · 1964 阅读 · 0 评论 -
PHP exec() has been disabled for security reasons
一、问题二、分析三、解决1、法一(推荐):使用shell_exec()方法代替exec()方法2、法二:php配置文件中不禁用exec方法1)、找到php.ini文件位置2)、在php.ini文件中找到disable_functions配置并去除exec3)、重启php服务一、问题exec() has been disabled for security reasons:翻译:出于安全原因,已禁用exec()代码exec('php ' . $path . 'think optimize:sch.原创 2021-04-01 15:48:26 · 4467 阅读 · 0 评论 -
XAMPP 找不到对象,Error 404
一、错误截图二、分析三、可能的原因1、httpd-vhosts.conf文件配置地址错误2、是不是public项目下的 .htaccess 文件缺失一、错误截图二、分析找不到文件路径,应该是哪里地址配错了,或者路由规则(编写失败 / 被删除)三、可能的原因1、httpd-vhosts.conf文件配置地址错误找到XAMPP的安装目录 > apache > conf > extra > 用编辑器打开httpd-vhosts.conf,是不是配置的项目地址Direc.原创 2021-03-12 11:41:49 · 1986 阅读 · 2 评论 -
PHP报错 File:E:\\...\index\\controller\\Test.php Line(18) Illegal offset type in isset or empty
1、PHP报错2、翻译3、PHP代码4、解决1、PHP报错File:E:\…\index\controller\Test.php Line(18) Illegal offset type in isset or empty2、翻译isset中的偏移量类型非法或为空3、PHP代码$data = [1 => '数据 1', 0 => '数据 2'];$name = [1, 2];if (isset($data[$name])) { echo '存在';} else.原创 2020-11-30 16:13:43 · 591 阅读 · 1 评论 -
PHP报错 Fatal error: Cannot use object of type stdClass as array
一、场景代码如下:public function test() { $string = '{"id": 1, "name": 2}'; $data = json_decode($string); echo $data['id'];}二、翻译一下致命错误:无法将stdClass类型的对象用作数组var_export($data)看一下,如下:(object) array( 'id' => 1, 'name' => 2, )三、解决哦,原来原创 2020-12-08 17:06:00 · 1002 阅读 · 1 评论