J'ai ce un code qui fonctionne en localhost, mais ne fonctionne pas dans mon serveur, j'ai un dossier appelé plate-forme est le chemin /var/www/html/platform
+ Autoload Namespace travaille dans localhost, mais ne fonctionne pas dans le serveur
plate-forme/.htaccess
AcceptPathInfo On
RewriteEngine on
RewriteBase /var/www/html/platform/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]
plataform/autoload.php
function __autoload($className) {
$file = $className . '.php';
if(file_exists($file)) {
require_once $file;
}else{
//fail
}
plataform/index.php
include ('autoload.php');
$controller = new application\controllers\Controller();
Plataform/application/controllers/Controller.php
namespace application\controllers;
class Controller{
}
Dans mon localhost ce code fonctionne, mais dans mon serveur je reçois le message suivant:
Fatal error: Class 'application\controllers\controller' not found in /var/www/html/platform/index.php on line 12
Comment puis-je résoudre ce problème? J'utilise Ubuntu PHPMyAdmin on 14.04 (Digital Ocean)
.
Votre autoloading est-il conforme à la norme PSR-4? D'ailleurs vous regardez dans spl_autoloading. –
@MueyiwaMosesIkomi PSR-4 standard? spl_autoloading? C'est nouveau pour moi ... Je ne comprends pas de quoi tu parles ... Tu as un tutoriel ou quelque chose de similaire? – Lacrifilm
je vais poster une réponse sur la façon dont je gère mon autoload, fonctionne partout où je implémente –