Salut !
J'éprouve quelques "difficultés" à mettre en ligne un de mes projets cakePHP 2.0.4 sur OVH.
Quand j'essaie d'uploader -comme un bourrin- ça me met ça comme erreur :
Parse error: syntax error, unexpected '=', expecting '(' in /.../www/lib/Cake/bootstrap.php on line 136

J'ai lu par-ci par-là qu'il faut modifier quelques infos dans cake, faire une certaine arborescence... mais voilà ça plante toujours (de plus les posts sur ce sujet deviennent assez vieillots).

Comment faire pour que tout fonctionne ?

8 réponses


Sur OVH rien de spécial à faire, il faut juste activer PHP5 en passant par un .htaccess

Nazahel
Auteur

Ah... faudrait vraiment qu'ils le mettent par défaut :/

J'ai mit ce bout de code dans le .htaccess à la racine (www/.htaccess) :

SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5
AddDefaultCharset utf-8
Options -Indexes

Ma page se charge bien, mais pas mes helpers perso (view/helper), sachant que tout fonctionne correctement en local.
Ce qui produit une jolie erreur :
<b>Fatal error</b>: Call to a member function currentLink() on a non-object in ...

EDIT : je suis sur un serveur mutualisé

tu as un probleme de route tout simplement...

il nous faut les 3 .htaccess de ses dossiers

www (1)
--app (2)
----webroot (3)

Et le fichier routes.php qui se situe dans :
app
--config
----routes.php

RewriteEngine on

dans le htaccess

Ce qui est intéressant c'est de protéger tes fichiers via les vilains qui veulent voler ton travail/injecter des fichier tendancieux. Le must serait qu'il n'est acces qu au element webroot et a la vue. Tout le reste devrait etre sous le www. Mais ça c'est une autre histoire ^^

Si tu as résolu ton problème, met le sujet en resolu.

+

Hello, j'ai un problème aussi avec l'hébergement sur ovh, j'ai tout mis dans le /www, et j'ai cette erreur ci :

An Internal Error Has Occurred.
Error: An Internal Error Has Occurred.

Voici mon htaccess du /www

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^$ /app/webroot/ [L]
   RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>

celui du /www/app

SetEnv PHP_VER 5
SetEnv SESSION_USE_TRANS_SID 0
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ /webroot/ [L]
    RewriteRule (.*) /webroot/$1 [L]
</IfModule>

et celui du www/app/webroot

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /index.php [L]
</IfModule>

J'ai fais quelque chose de mal ?

Edit : Maintenant il m'affiche juste 'File not found', y'a du changement!

As-tu connecté ta db ? Il arrive souvent qu'il y est un problème de casse ex : model.php au lieu de Model.php

Si c'est un problème de route, il te faut tester d'arriver a ta page via le lien absolue. Si tu arrive à atteindre ton style.css avec cette méthode tu as un problème de rewrite.

J'ai réussi à mettre mes liens css/js, sans utiliser les helpers forcément, maintenant j'ai un autre problème lié aux liens des routes préfixées, que j'ai préféré mettre sur un autre sujet.
Merci !