J'ai un site en ligne qui fonctionne parfaitement. Je cherche a le mettre en local avec wampserver pour travailler dessus.
Mais avec Wampserver j'obtiens Fatal error: Using $this when not in object context in C:\wamp\www\v2\home.php on line 6 qui est la ligne $page->addhtml('<p>toto indique un lien <a href="'.$this->path.'toto/toto.htm">en cliquant ici</a>.</p>');
Je n'utilise pas <? code php ?> mais <?php code php ?> donc pas d'erreur de ce coté
En ce qui concerne la réecriture dans mon htaccess il y a ça: RewriteBase /v2 //avec ou sans cette ligne ça marche pas RewriteEngine on [L] RewriteRule ^(.*)\.html$ index.php?mpage=$1 [L] RewriteRule ^(.*)/(.*)-([0-9]+)\.htm$ index.php?action=$1&url=$2&id=$3 [L] RewriteRule ^(.*)/(.*)\.htm$ index.php?action=$1&url=$2 [L]
Pour etre certain que la base se connecte j'ai mis ça dans mon fichier conf.php <?php $ac_mysql_host = 'localhost'; $ac_mysql_user = 'root'; $ac_mysql_password = ''; $ac_mysql_db = 'nom_de_ma-base';
$connexion = mysql_connect ("localhost","root","","nom_de_ma-base" If (!$connexion) { echo "Désolé, connexion à " .SERVEUR. "impossible\n"; exit; } If ($connexion) { echo "connexion à " .SERVEUR. " possible et ok\n"; exit; } ?> et la connection et confirmée par "connexion à SERVEUR possible et ok"
Je comprends pas pourquoi mon site fonctionne en ligne et pas sur Wampserver
Alors il n'y a pas d'indien spécialisé dans Apache ?
En fait je reste bloqué !!!
Si je supprime carrément mon fichier conf.php j'obtiens la meme erreur !!!! Fatal error: Using $this when not in object context in C:\wamp\www\v2\home.php on line 6 qui est la ligne $page->addhtml('<p>toto indique un lien <a href="'.$this->path.'toto/toto.htm">en cliquant ici</a>.</p>');
Bien sur j'ai pris avant la précaution de bien verifier de pouvoir me connecter a ma base en ayant insérer le code ci dessous dans mon fichier conf.php
//test de connection à la base Mysql avec message d'erreur si la connection n'est pas bonne
$connexion = mysql_connect($ac_mysql_host,$ac_mysql_user,$ac_mysql_password) or exit('Erreur dans le fichier '.__FILE__.'<br>Ligne '.__LINE__.'<br>MySQL dit : '.mysql_error());
mysql_select_db($ac_mysql_db,$connexion) or exit('Erreur dans le fichier '.__FILE__.'<br>Ligne '.__LINE__.'<br>MySQL dit : '.mysql_error());
//test de connection à la base Mysql avec message de confirmation à la base Mysql si la connection est bonne
$connexion = mysql_connect ($ac_mysql_host,$ac_mysql_user,$ac_mysql_password); If ($connexion) { echo "connexion à " .mysql. " possible et ok\n"; exit; } ?>
En déduction si j'obtiens la meme erreur sans mon fichier conf.php c'est que je dois avoir un problème d'url rewrting et htaccess qui ne fonctionnent pas dans Wampserver et parfaitement chez Ovh.
Avec Wampserver mes scripts ne s'exécutent pas !!!
Si un indien passe sur ce forum il pourrait bien faire mon bonheur :-)
Ne seriez-vous pas en PHP 4 chez votre hébergeur alors que Wampserver tourne avec PHP 5 ?
Cela semble être lié à la méthode php 4 de définition des class pour lesquelles $this était considéré comme une variable (presque) globale.
C'est bien ce que signifierait "Using $this when not in object context" - Utilisation de $this hors d'un contexte objet.
Pour régler le problème, tout en conservant le même comportement que sous PHP 4, la connaissance de PHP 5 et des scripts en question seront nécessaires.
machintruc a écrit: ------------------------------------------------------- > Donc mon problème est avec localhost mais je ne connais pas la procédure pour déclarer mon > répertoire /v2/ qui setrouve dans le repertoire www
Même si vous y arrivez, ça ne changera rien à l'erreur de la variable $this utilisée hors d'un objet, ce qui est permis en php 4, mais pas en php 5.
Installer l'addon php 4.4.8 mais.... Php 4 ne peut pas tourner avec Apache 2.2.x, il faut donc aussi installer l'addon Apache 2.0.x qui supporte également PHP 5.
C'est vrai que l'erreur de la variable $this reste un problème a solutionner plus tard meme si elle fonctionne chez l'hébergeur Ovh sous apache 2+ et php5+
Mais malheureusement pour le moment je suis bloqué par manque d'info ou tutoriel concernant la modification de localhost et des sous répertoires dans www qui ne me donne pas l'url rewriting.
<?php print $_SERVER['DOCUMENT_ROOT'];
?>
Il me renvoit C:/wamp/www/ alors que je devrais avoir C:/wamp/www/v2
J'ai essayé un fichier htaccess avec RewriteBase /wamp/www/ ou RewriteBase /wamp/www/v2/ qui ne donne aucun resultat !
Côté .htaccess et "url rewriting", je ne peux pas vous aider ; je n'utilise pas, donc, je ne connais pas.
En revanche, je développe plusieurs sites, tous situés dans www et j'avais déjà donné ici la procédure à suivre pour configurer les « virtuals hosts ». Je reposte, sous forme de tuto, dans une nouvelle contribution intitulée [topo] Wampserver et sites multiples.