相关疑难解决方法(0)

参考 - 这个错误在PHP中意味着什么?

这是什么?

这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.

为什么是这样?

Stack Overflow上经常弹出诸如"已发送标头""调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.

我该怎么办?

如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.

如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.

列表

另外,请参阅

php oop debugging warnings

1071
推荐指数
35
解决办法
19万
查看次数

PHP 7.4 中无法捕获弃用警告

在 PHP 7.4.0 中,我看到以下警告:
Deprecated: Array and string offset access syntax with curly braces is deprecated in ...
我的错误/异常处理程序无法捕获并记录它们。

例子:

<?php
    set_error_handler(function ($errNo, $errStr) {
        echo "set_error_handler: " . $errStr;
    });

    set_exception_handler(function ($exception) {
        echo "set_exception_handler: " . $exception->getMessage();
    });

    $b = 'test';
    $a = $b{1};
Run Code Online (Sandbox Code Playgroud)

警告仍然显示在正常输出中,并且两个处理程序都没有被调用。

我想在我自己的日志中记录所有错误、异常和警告,但处理程序未捕获此警告。是否有原因或解决方案来捕获和记录 PHP 抱怨的所有内容(无法访问服务器 Apache/PHP 日志)?

php php-7.4

8
推荐指数
1
解决办法
6367
查看次数

PHPExcel 错误:不推荐使用带花括号的数组和字符串偏移访问语法

我刚刚更新了我phpexcelphpspreadsheet,我注意到这个错误弹出:

ErrorException (E_DEPRECATED) 不推荐使用带花括号的数组和字符串偏移访问语法

需要“类/PHPExcel.php”;

这是我的代码的一部分,它触发了上述错误:

文件: project/public/Classes/PHPExcel/Shared/ZipStreamWrapper.php

  public function stream_open($path, $mode, $options, &$opened_path)
    {
        // Check for mode
        if ($mode{0} != 'r') { //Error Line
            throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.');
        }
 

Run Code Online (Sandbox Code Playgroud)

文件: project/public/Classes/PHPExcel.php

/** PHPExcel root directory */
if (!defined('PHPEXCEL_ROOT')) {
    define('PHPEXCEL_ROOT', dirname(__FILE__) . '/');
    require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); //Error Line
}

Run Code Online (Sandbox Code Playgroud)

文件: app/Http/Controllers/analyticsAuth/statement.old.php

use PHPExcel_Reader_Excel2007;
use PHPExcel; 
use PHPExcel_IOFactory;
use ZipArchive;
require 'Classes/PHPExcel.php'; //Error …
Run Code Online (Sandbox Code Playgroud)

php phpexcel laravel

4
推荐指数
1
解决办法
2万
查看次数

在php中从ascii转换为hex

我正在尝试在PHP中从ASCII转换为HEX,但是对于一些可用的在线工具获得了不同的结果.我知道我正在寻找的结果,所以在线工具的结果似乎是正确的,我的代码不正确,但我无法解决原因.

String:         2Ffbj?DoyXOU
Correct output: 32 46 66 62 6a 3f 44 6f 79 58 4f 55 (from linked site above)
My output:      32 46 66 62 6a 3f 44 6f 79 58 4f 75
Run Code Online (Sandbox Code Playgroud)

我的剧本:

echo bin2hex(utf8_decode("2Ffbj?DoyXOU"));
Run Code Online (Sandbox Code Playgroud)

故障在哪里?

php hex ascii

2
推荐指数
1
解决办法
7121
查看次数

标签 统计

php ×4

ascii ×1

debugging ×1

hex ×1

laravel ×1

oop ×1

php-7.4 ×1

phpexcel ×1

warnings ×1