Probleme object sur certain hébergeur

Par guifloco, il y a 10 ans


Bonjour,

J'ai suivi il y a quelque temps le tutoriel sur slim avec un router personnalisé, j'avais fait mon site qui fonctionnait parfaitement sur mon hebergeur Firstheberg. Puis j'ai voulu changer d'hebergeur, j'ai donc upload mon site dessus avec la base de donnée et depuis ce jour il me sort une Fatal Error : $this is non-object sur mon router, mon controller etc...

je vous laisse le code de mon router

<?php class Router{ private $app; public function __construct($app){ $this->app = $app; } public function call($url, $params, $method){ return $this->app->$method($url, function () use($params){ $params = explode(':', $params); $controller = $params[0]; $action = $params[1]; require(ROOT.'controllers/'.$controller.'.php'); $controller = new $controller($this->app); call_user_func_array([$controller, $action], func_get_args()); }); } public function get($url, $params){ return $this->call($url, $params, 'get'); } public function post($url, $params){ return $this->call($url, $params, 'post'); } public function delete($url, $params){ return $this->call($url, $params, 'delete'); } public function put($url, $params){ return $this->call($url, $params, 'put'); } } ?>

Merci

5 réponses

tleb, il y a 10 ans

Salut,

Tu as vérifié la version de PHP ? Utilise echo phpversion();.

guifloco, il y a 10 ans

Alors sur l'ancien : php 5.4.45
sur le nouveau : php 5.3.3-7+squeeze3

Uneo7, il y a 10 ans

Oula c'est vraiment très vieux php 5.3. Tu doit povoir changer de version de php dans ton panel de gestion.

lucien-lefoll, il y a 10 ans

Hello,

Tu dois utiliser une syntaxe qui n'existait pas en PHP 5.3 (par exemple pour les tableaux).

Il doit être possible de modifier la version de PHP utilisée sur ton hébergeur. Essaie de te renseigner auprès du service client, ou sur des forums. Par exemple chez OVH, il faut modifier un fichier .htaccess à la racine de ton site pour utiliser une version plus récente de PHP sur celui-ci !

Bon courage !

guifloco, il y a 10 ans

je vais voir sa merci