首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类Firebase\JWT\JWT未找到

类Firebase\JWT\JWT未找到
EN

Stack Overflow用户
提问于 2017-01-22 19:08:46
回答 5查看 35.6K关注 0票数 13

我想在代码中使用纯firebase/php-jwt库。首先,我去了/var/www/html/,就像官方图书馆的页面建议的那样,我这样做

代码语言:javascript
复制
composer require firebase/php-jwt

在运行此命令之后,我看到在/var/www/html/中创建了一个新的供应商文件夹,其中包含了大量的文件和子文件夹。然后,我在token.php中创建了/var/www/html/文件,其内容类似于官方页面中的内容:

代码语言:javascript
复制
<?php
use \Firebase\JWT\JWT;

$key = "example_key";
$token = array(
    "iss" => "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中找不到类'Firebase\JWT\JWT‘:12堆栈跟踪:#0 {main}抛入/var/www/html/Token.php第12行

我不确定这是否重要,但我的PHP版本是7.0。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-01-22 19:17:59

根据文档,您需要包含自动加载器。

例如,在php文件中:

代码语言:javascript
复制
require __DIR__ . '/vendor/autoload.php';

但是..。通常,您的vendor文件夹将是,级别为,而不是html文件夹(您正在为内容服务的文件夹)。

例如:

代码语言:javascript
复制
- Project root
--- vendor
--- html
----- index.php

然后在你的index.php中你会这样做:

代码语言:javascript
复制
 require __DIR__ . '/../vendor/autoload.php';

很高兴您尝试使用composer和模块,但是如果我是您,我会尝试阅读一些关于php的自动着色特征的内容,这样您就可以了解发生了什么,以及如何从它们中获利。

票数 25
EN

Stack Overflow用户

发布于 2018-01-15 06:46:19

如果不使用composer来维护结构。只要移除

代码语言:javascript
复制
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 <neuman@twilio.com>
* @author   Anant Narayanan <anant@php.net>
* @license  http://opensource.org/licenses/BSD-3-Clause 3-clause BSD
* @link     https://github.com/firebase/php-jwt

形成您的JWT.php文件。对我来说很好。

票数 8
EN

Stack Overflow用户

发布于 2020-01-24 02:54:28

为了让我的代码正常工作,我只在代码中添加了一行:

代码语言:javascript
复制
require __DIR__ . '\vendor\autoload.php';
use Firebase\JWT\JWT;

/* the rest of your code after this */

我根本不需要修改jwt.php文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41795034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档