Bonjour,
j'essai pour la première fois un framework, qui plus est, CakePHP.
J'ai donc télécharger la dernière (est future) version, 2.0RC1 et je suis le tutoriel "Tutoriel Vidéo CakePHP : Initiation à CakePHP"
J'ai aussi verifier que la version 2 n'est pas de grand changement sur le book.
Mon premier problème était le Rewrite, que j'ai résolue comme cela
/.htaccess
AddType x-mapp-php5 .php
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
/app/.htaccess
AddType x-mapp-php5 .php
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
/app/webroot/.htaccess
AddType x-mapp-php5 .php
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
et le nom de domaine
cakephp.mondomaine.com -> webroot
J'ai dis "Résolue" -> ou pas...
Pourquoi, lorsque je tape:
http://cakephp.mondomaine.com/posts/
Missing View
Error: The view for PostsController::index() was not found.
Error: Confirm you have created the file: /homepages/xx/dxxxxx/htdocs/www/cakephp2/app/View/Posts/index.ctp
Notice: If you want to customize this error message, create app/View/Errors/missing_view.ctp
http://cakephp.mondomaine.com/posts/index
Missing Controller
Error: IndexController could not be found.
Error: Create the class IndexController below in file: app/Controller/IndexController.php
<?php
class IndexController extends AppController {
}
Notice: If you want to customize this error message, create app/View/Errors/missing_controller.ctp
En gros j'ai l'impression qu’après chaque slashe il cherche un contrôleur,
http://cakephp.mondomaine.com/controller/controller
donc si vous avez une idée pour que je débloque ma situation afin de continuer mon test, je suis tout ouï. :D
Ps: si je supprime RewriteBase /, j'ai le droit à:
Error 500 - Internal server error
Un problème inattendu est survenu.
Veuillez réessayer ultérieurement.
Oublie dans ce cas il faut PHP 5.2.9 ou supérieur, regarde si tu peux activer PHP 5.3 (ça résoudrait tous les soucis
Bingo !!! (ou pas :S)
Alors 1and1 permet d'activer une version "DEV" de php, et sur un répertoire (sous répertoire inclus) précis,
je suis donc passer à la version 5.4.0alpha1
et la comme par magie, j'ai le formulaire qui est apparue :D
Mais... (est oui, il y a toujours un mais :P) j'ai désormais une nouvelle petite erreur
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/23/xxxxxx/htdocs/dev-xxxxxxx/cakephp2/lib/Cake/Cache/Cache.php on line 513
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /homepages/23/xxxxxxx/htdocs/dev-xxxxx/cakephp2/lib/Cake/Cache/Cache.php on line 513
Que j'ai donc corrigé en cherchant un peu :p
Dans core.php décocher et compléter:
date_default_timezone_set('Europe/Paris');
Donc voila
1and1 + Php dev (activer via le panel ou via le htaccess "AddType x-mapp-php6 .php") + Timezone + Rajout dans le htaccess "RewriteBase /" = CakePHP 2 qui fonctionne (enfin pour le début de DEV, voir plus tard quand le code sera plus complexe)
Je vous ferai si il y a d'autre difficulté avec 1and1 pour CakePHP 2
1&1 est un véritable enfer au niveau des htaccess surtout si tu es sur un dossier (si tu as à la racine du nom de domaine ça marche à peu près).
J'essaie de trouve un FTP 1&1 pour tester ça :)
Merci de ta reponse,
alors je viens d'essayer avec CakePHP 1.3, à première vue, no problème,
je vais essayer avec le tuto du Book.
Par contre le gros avantage de 1and1 c'est de pouvoir définir la configuration des cibles répertoire différente des domaines et sous domaine, ce qui est impossible sur pas mal de mutu ^^
Après pense tu que c'est plutôt judicieux de coder directement avec la version 2 ou la version 1.3?
Si tu es sur que la version de PHP est assez bonne je te conseillerais de passer à la 2 (pour l'avenir)
Après le problème c'est que la version est très jeunes du coup la doc est moins fournie :(
Bon, jusqu'ici, la partie:
http://cakephp2.mondomaine.com/posts
S'affiche très bien, avec le titre, l'action, et la date de creation.
Cependant, si je souhaite modifier ou voir un post
http://cakephp2.mondomaine.com/posts/view/1
celui-ci m'affiche:
CakePHP: the rapid development php framework
Missing Controller
Error: 1Controller could not be found.
Error: Create the class 1Controller below in file: app/Controller/1Controller.php
<?php
class 1Controller extends AppController {
}
Notice: If you want to customize this error message, create app/View/Errors/missing_controller.ctp
Stack Trace
#0 /homepages/xx/dxxxx/htdocs/dev-xxxxxx/cakephp2/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
Une idée ?
(ma version PHP ne doit poser problème -> PHP Version 5.2.17)