Я пытаюсь развернуть php api, который использует вашу библиотеку, на сервере Debian.
Я выполнил установку php, composer и library, но я получаю
"Ошибка: класс«Lcobucci \ JWT \ Signer \ Hmac \ Sha256» не найден в /app/app/controllers/AuthController.php », как если бы предложение use не просматривало правильный репозиторий.
Мой проект выглядит следующим образом:
- / home / $ user / api-v3 / api / www / vendor / lcobucci / jwt
- / home / $ user / api-v3 / api / www / app/controllers/AuthController.php
При импорте в класс AuthController.php:
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Lcobucci\JWT\Parser;
use Lcobucci\JWT\ValidationData;
Нужно ли что-то делать с автозагрузчиком, чтобы он искал ваши классы вПравильный каталог?
У меня есть требование в моем composer.json
"require": {
"lcobucci/jwt": "^3.2",
}
Мой autoloader.php
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit284b1942c0e74e39634354f520984117::getLoader();
Мой autoloader_real.php
class ComposerAutoloaderInit284b1942c0e74e39634354f520984117
{
private static $loader;
public static function loadClassLoader($class)
{
if ('Composer\Autoload\ClassLoader' === $class) {
require __DIR__ . '/ClassLoader.php';
}
}
public static function getLoader()
{
if (null !== self::$loader) {
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit284b1942c0e74e39634354f520984117', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit284b1942c0e74e39634354f520984117', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit284b1942c0e74e39634354f520984117::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
}
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit284b1942c0e74e39634354f520984117::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire284b1942c0e74e39634354f520984117($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire284b1942c0e74e39634354f520984117($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
}
My autoload_namespaces.php
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Twig_' => array($vendorDir . '/twig/twig/lib'),
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
'Doctrine\\DBAL\\' => array($vendorDir . '/doctrine/dbal/lib'),
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'),
);