PHP 警告内置 PHP 函数是未声明的变量...为什么?我做错了什么?

问题描述 投票:0回答:1

好吧,几年前,我试图自学 PHP,并且在编写糟糕但功能性的代码方面还不错……这就是我所需要的,因为我只想为自己构建在本地主机上运行的东西仅有的。我仍然处于那个地方,我只想在我的计算机上提供一些东西,它不需要干净或安全或类似的功能。所以最近我尝试恢复一个项目(在微软收购它之前我从 GitHub 下载的代码......也就是说它真的很旧并且不再可用)

现在问题来了......当我运行代码时,我不断收到如下警告:

警告:第 80 行 C:\xampp\htdocs\Playground\FileManager\Test_003\index.php 中未定义变量 $error_reporting

问题是,error_reporting(代码中没有美元符号)不是一个变量,它是一个 PHP 函数......那么给出了什么?

相关代码如下:

switch ($error_reporting){
    case 0: error_reporting(0); @ini_set("display_errors",0); break;
    case 1: error_reporting(E_ERROR | E_PARSE | E_COMPILE_ERROR); @ini_set("display_errors",1); break;
    case 2: error_reporting(E_ALL); @ini_set("display_errors",1); break;
}

我想我可以用

$error_reporting = "";
修复它,但这会导致它发出嘶嘶声(更多警告,并且没有页面加载)......所以我应该做什么?

php function variables
1个回答
-1
投票

它可能只会显示另一个错误,因为我假设有一个文件未包含在内,但您可以尝试以下操作:

$error_reporting = error_reporting();
switch ($error_reporting){
    case 0: error_reporting(0); @ini_set("display_errors",0); break;
    case 1: error_reporting(E_ERROR | E_PARSE | E_COMPILE_ERROR); @ini_set("display_errors",1); break;
    case 2: error_reporting(E_ALL); @ini_set("display_errors",1); break;
}

...看看会发生什么。 (该代码块的第一行是相关部分。现在

switch
的主题至少将是一个定义的变量,因为它将被设置为包含当前的错误报告级别。

请参阅 https://www.php.net/manual/en/function.error-reporting.php 了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.