Class Firebase\JWT\JWT not found

I added only one line to your code to get my code to work:

require __DIR__ . '\vendor\autoload.php';
use Firebase\JWT\JWT;

/* the rest of your code after this */

I did not have to modify the jwt.php file at all.


If not using composer for maintaining the structure. just remove

namespace Firebase\JWT;
use \DomainException;
use \InvalidArgumentException;
use \UnexpectedValueException;
use \DateTime;

* 
* JSON Web Token implementation, based on this spec:
* https://tools.ietf.org/html/rfc7519
 *
* PHP version 5
*
* @category Authentication
* @package  Authentication_JWT
* @author   Neuman Vong <[email protected]>
* @author   Anant Narayanan <[email protected]>
* @license  http://opensource.org/licenses/BSD-3-Clause 3-clause BSD
* @link     https://github.com/firebase/php-jwt

form your JWT.php file. It works fine for me know.


depends whether you are using composer or not, in case of not using composer try to remove the use part:

namespace Firebase\JWT;
use \DomainException;
use \InvalidArgumentException;
use \UnexpectedValueException;
use \DateTime;

and if you are using composer make sure your autoloader if loaded


As per the documentation, you need to include the autoloader.

E.g., in your php file:

require __DIR__ . '/vendor/autoload.php';

But... typically your vendor folder would be at the same level than your html folder (the one where you are serving content).

E.g.:

- Project root
--- vendor
--- html
----- index.php

Then in your index.php you'd do:

 require __DIR__ . '/../vendor/autoload.php';

It is nice that you trying to use composer and modules, but if I were you I'd try to read on a bit about php's autoloading features, so you understand what's going on, and how you can profit from them.