2016-11-27 1 views
0

Récemment, j'ai essayé le Whoops! bibliothèque et essayer de le faire fonctionner, cependant, malheureusement, c'est le plus proche que j'ai eu pour le faire fonctionner.Impossible de trouver une classe lors de l'utilisation de "Whoops!" bibliothèque?

je l'ai installé par le compositeur en utilisant ce tutoriel 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!"); 
?> 

Erreur:

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 

Répondre

1

Je viens couru votre code et il a fonctionné très bien pour moi (ça n'a vraiment rien fait, mais la classe s'est bien chargée). Vérifiez votre composer.json et assurer qu'il a:

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

Run composer update juste pour être sûr. Et enfin, assurez-vous que votre index.php se trouve dans le répertoire qui a le fournisseur en tant que sous-répertoire.

+0

Il n'y avait pas votre code de compositeur qu'il avait juste "{}" bien que quand j'ai mis à jour mon composer.json au vôtre et ai exécuté la mise à jour de compositeur dans le répertoire le composer.json a localisé il a jeté une erreur. "./composer.json" ne contient pas JSON valide Parse error sur la ligne 1: "exigent": { « chiquenaude/oups --------^ Expected l'une: 'EOF', '}', ',', ']' –

+0

OK, je vais mettre à jour avec l'ensemble du fichier ... cela devrait fonctionner.C'est ce que vous obtenez lorsque vous exécutez composer nécessite filp/whoops 1. * (au moins le besoin partie). – Katie

0

Whoopsnamespace est manquant ou il ne dispose pas d'un Runclass . Vérifiez autoload.php et assurez-vous qu'il charge Whoops et le Whoops que vous utilisez a le Runclass.

0

Essayez d'utiliser l'exemple fourni au https://code.tutsplus.com/tutorials/whoops-php-errors-for-cool-kids--net-32344 dont vous pouvez voir les charges /vendor/autoload.php légèrement différemment.

L'erreur suggère que la classe Whoops n'est pas correctement chargée.

<?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!"); 
?>` 

OK. Vérifiez que vos chemins sont corrects et que/vendor/contient des whoops. l'arbre doit être quelque chose comme

-vendor

--Whoops

--autoload.php

-index.php

+0

Cela génère la même erreur, n'a rien changé. –

+0

OK. Vérifiez que vos chemins sont corrects et que/vendor/contient des whoops. J'ai mis le commentaire dans la réponse car je ne peux pas le formater ici. Fondamentalement, il me semble qu'il ne se charge pas correctement. – hayres