我想在我的代码中使用纯firebase/php-jwt库.首先,我去/var/www/html/
和官方图书馆页面建议,我这样做
composer require firebase/php-jwt
运行此命令后,我看到内部创建了一个新的供应商文件夹,/var/www/html/
其中包含大量文件和子文件夹.然后我创建我的token.php
文件/var/www/html/
,内容类似于官方页面中的内容:
"http://example.org", "aud" => "http://example.com", "iat" => 1356999524, "nbf" => 1357000000 ); $jwt = JWT::encode($token, $key); $decoded = JWT::decode($jwt, $key, array('HS256')); print_r($decoded);
但是,当我转到localhost/token.php时,我收到以下错误消息:
致命错误:未捕获错误:在/var/www/html/token.php:12中找不到类'Firebase\JWT\JWT'堆栈跟踪:在#var/www/html/token.php中引发#0 {main}第12行
我不确定它是否重要,但我的PHP版本是7.0.
根据文档,您需要包含自动加载器.
例如,在你的php文件中:
require __DIR__ . '/vendor/autoload.php';
但是......通常你的vendor
文件夹与你的html
文件夹(你正在提供内容的文件夹)处于同一级别.
例如:
- Project root --- vendor --- html ----- index.php
然后在你的index.php中你会做:
require __DIR__ . '../vendor/autoload.php';
你尝试使用作曲家和模块很好,但如果我是你,我会尝试阅读有关php的自动加载功能,以便了解正在发生的事情,以及如何从中获利.
如果不使用作曲家维护结构。只是删除
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* @author Anant Narayanan * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD * @link https://github.com/firebase/php-jwt
形成您的JWT.php文件。据我所知,它运作良好。