Bonjour,
je tente un petit up, je galère vraiment.
Et j'édite le message pour essayer d'y voir plus clair.
J'ai un site qui fonctionne bien en local, ici :
C:\xampp\htdocs\work\mon_site\
Et quand je le met en ligne, ici :
/home/mzgrk/public_html/
J'ai cette erreur :
Fatal error: Class 'App\Table\ParameterTable' not found in /home/mzgrk/public_html/app/App.php on line 120
Voici les étapes :
.../public_html/public/index.php
:
<?php SESSION_START();
use app\App;
define('ROOT', dirname(__DIR__) . '/');
require ROOT . 'app/App.php';
require ROOT . 'vendor/autoload.php';
App::load();
...
?>
.../public_html/app/App.php
:
<?php
namespace App;
use App\Table\ParameterTable;
class App
{
public static function load()
{
require ROOT . 'vendor/autoload.php';
$parameters_table = new ParameterTable(App::getInstance()->getDB()); // LIGNE 120 <---------------------
...
}
}
Des infos/remarques en plus :
J'utilise les namespace, l'autoloader de composer, et la redirection d'URL.
.../public_html/app/Table/ParameterTable.php
:
<?php
namespace App\Table;
class ParameterTable extends Table
{
...
}
La structure qui nous intéresse :
.../public_html/.htaccess
.../public_html/public/index.php
.../public_html/app/App.php
.../public_html/app/Table/ParameterTable.php
La partie "autoload" de mon composer.json :
"autoload": {
"psr-4": {
"App\\": "App/"
}
},
Remarquez,
que .../index.php
, n'est pas dans un namespace,
alors que .../ParameterTable.php
est dans un namespace (comme toutes les autres classes).
Quand on appel :
App::load();
au début,
ça fonctionne grâce au :
use app\App;
plus haut.
Par contre ensuite, la toute 1ère classe appelée qui est dans un namespace, est "ParameterTable",
et ça plante.
Et je rappel que la chose qui est changée,
c'est qu'on a déplacé le dossier racine de site, d'ici :
C:\xampp\htdocs\work\mon_site\
à là :
/home/mzgrk/public_html/
"home", semple être le dossier root du serveur web de l'hébergeur.
"mzgrk", est mon identifiant chez l'hébergeur.
"public_html", est le dossier dans lequel ils m'ont dit de mettre tout le contenu de mon site.
Si quelqu'un peut m'aider, merci beaucoup !
Je sèche...
Ah bon sang, j'ai fini par trouver... (OUF !)
C'était une histoire de casse.
Mon serveur WEB local sur Windows, n'était pas sensible à la casse,
et le serveur WEB de l'hébergeur sur Linux, est sensible à la casse.
Du coup j'ai pu corriger les chemin d'accès, et ça fonctionne bien.
C'est en rédigeant proprement mon problème ici, que ça m'y a fait penser ^^