使用 "Whoops!" 库时找不到 class?

Cant find class when using "Whoops!" library?

最近我一直在尝试Whoops!图书馆并试图让它工作,然而,不幸的是,这是我最接近它的工作。

我使用本教程通过作曲家安装了它 https://code.tutsplus.com/tutorials/whoops-php-errors-for-cool-kids--net-32344

PHP:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

# index.php
require(getcwd() . "/vendor/autoload.php");

$whoops = new Whoops\Run();
$whoops->pushHandler(new Whoops\Handler\PrettyPageHandler());

// Set Whoops as the default error and exception handler used by PHP:
$whoops->register();

throw new RuntimeException("Oopsie!");
?>

错误:

Fatal error: Uncaught Error: Class 'Whoops\Run' not found in C:\Users\Administrator\Desktop\CMS\app\library\whoops\index.php:9 Stack trace: #0 {main} thrown in C:\Users\Administrator\Desktop\CMS\app\library\whoops\index.php on line 9

Whoops namespace 缺失或没有 Run class。检查 autoload.php 并确保它加载 Whoops 并且您正在使用的 Whoops 具有 Run class.

尝试使用 https://code.tutsplus.com/tutorials/whoops-php-errors-for-cool-kids--net-32344 中提供的示例,您可以看到负载 /vendor/autoload。php 略有不同。

该错误表明 Whoops class 未正确加载。

<?php
# index.php
require __DIR__ . "/vendor/autoload.php";

$whoops = new Whoops\Run();
$whoops->pushHandler(new Whoops\Handler\PrettyPageHandler());

// Set Whoops as the default error and exception handler used by PHP:
$whoops->register();  

throw new RuntimeException("Oopsie!");
?>`

好的。检查您的路径是否正确,并且 /vendor/ 确实包含糟糕的内容。 树应该是

-供应商

--糟糕[=​​12=]

--autoload.php

-index.php

我只是 运行 你的代码,它 运行 对我来说很好(它实际上什么也没做,但 class 加载得很好)。检查您的 composer.json 并确保它具有:

{
    "name": "root/stack-overflow",
    "minimum-stability": "stable",
    "require": {
        "filp/whoops": "1.*"
    }
}

运行 composer update 只是为了确定。最后确保您的 index.php 位于以 vendor 作为子目录的目录中。