Bonjour,

Je débarque un peu en PHP et j'essaye de déployer une api php sur un serveur Debian 9.

J'ai installé la librairie Lcobucci via composer.

J'ai un fichier AuthController.php qui fait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Lcobucci\JWT\Parser;
use Lcobucci\JWT\ValidationData;
Mon arboresence :

- /home/$USER/api-v3/api/www/vendor/lcobucci/jwt
- /home/$USER/api-v3/api/www/app/controllers/AuthController.php

L'autoload.php fait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
return ComposerAutoloaderInit284b1942c0e74e39634354f520984117::getLoader();
qui appelle getLoader() dans autoload_real.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 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);
            }
        }
J'obtiens un Class not found "Error: Class 'Lcobucci\JWT\Signer\Hmac\Sha256' not found in /app/app/controllers/AuthController.php on line 141"

Je me doute que c'est un problème de chemin mais je ne sais pas comment faire, est-il possible de donner à l'autoloader le chemin en dur ?

Merci pour votre aide.