Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Je débute dans l'utilisation de framework et j'ai décidé d'utiliser le ZF. Je rencontre déjà quelques soucis :?
J'ai suivi le tutoriel de developpez.com "Débuter avec le Zend Framework (approche MVC)"
Je suis arrivé à la fin de l'étape II-B-2. J'ai également suivi d'autres tutoriels j'ai donc créée les fichiers suivant :
=>/var/www/projet/site1/application/controllers/IndexController.php
<?php /** Zend_Controller_Action */ require_once 'Zend/Controller/Action.php'; class IndexController extends Zend_Controller_Action { public function indexAction() { $this->render(); } }
et
=>/var/www/projet/site1/application/views/scripts/index/index.phtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My first Zend Framework App</title> </head> <body> <h1>Hello, World!</h1> </body> </html>
Et finalement, au moment d'accéder à la racine de l'application, j'ai l'erreur suivante:
500 Internal Server Error
J'ai remarqué également que si j'accède au répertoire parent "/var/www/projet/" depuis mon navigateur web, je ne vois pas le répertoire "site1"
Pour finir j'ai le fichier /var/www/projet/site1/.htaccess
RewriteEngine on RewriteRule .* index.php php_flag magic_quotes_gpc off php_flag register_globals off
Si je retire ce fichier j'accède bien à ma page d'index avec la phrase "Hello, World!".
"Malheureusement", ce fichier est utile pour le fonctionnement de ZF (d'après ce que j'ai compris).
Je ne comprend pas le pourquoi du comment?
Si je regarde les logs apache, voici ce que je trouve:
[Mon Mar 31 19:12:20 2008] [alert] [client 192.168.2.21] /var/www/projet/site1/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
J'ai activé l'url rewriting par cette commande
a2enmod rewrite
et je recontre maintenant l'erreur suivante :
403 Forbidden
Est-ce que cela veut dire que la configuration d'apache n'est pas correcte pour utiliser l'url rewriting?
Je vous remercie d'avance (pour avoir tout lu ).
Petite précision:
Je suis sous apache2 et j'ai donc configuré mes vhosts dans le fichier
/etc/apache2/httpd.conf
NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place # RedirectMatch ^/$ /apache2-default/ </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> Alias /mysql "/var/www/phpmyadmin/" <Directory "/var/www/PhpMyAdmin/"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /site1 "/var/www/projet/site1/" <Directory "/var/www/projet/site1/"> Options Indexes MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
J'ai également remarqué un message d'erreur lorsque je redémarre apache:
/etc/init.d/apache2 restart
Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Dernière modification par slaughter (02-04-2008 10:04:05)
Hors ligne
pour l'erreur 500, Moi, j'ai eu ce problème sur mon serveur dédié et la raison était le mode d'utilisation de PHP. il était en mode CGI et ce mode n'accepte pas les .htaccess avec ces directives :
php_flag magic_quotes_gpc off php_flag register_globals off
C'est bien problématique des fois. Fais un test sans ces lignes. regarde aussi la doc de ZF car ton .htaccess n'est pas complet pour une mise en production (les images seront redirigées aussi par index.php dans ton cas).
Olivier
Hors ligne
Merci golivier, j'avais bien vu le soucis avec les images, css etc.
J'ai juste fait au plus simple pour le moment.
J'avais fait des tests sur le fichier .htaccess et l'erreur apparait même si je n'ai que RewriteEngine on dans le fichier.
Je crois bien que l'url rewriting n'est pas activé sur mon serveur mais je ne vois pas comment l'activer avec un apache2.
Hors ligne
Bonjour,
Je ne connais pas la commande a2enmod, mais pour activer le mod_rewrite, j'ai la ligne suivante dans httpd.conf :
LoadModule rewrite_module modules/mod_rewrite.so
Sinon si j'en crois ta conf apache, tu as ton appli dans /var/www/projet/site1/ et tu y accèdes avec l'URL :
http://127.0.0.1/0rigine
Je suis pas super à l'aise avec les .htaccess (je mets plutôt mes confs dans httpd.conf en général), mais je mettrais plutôt une conf de ce genre dans .htaccess :
RewriteEngine on RewriteBase /0rigine RewriteRule !\.(js|ico|gif|jpg|png|css)$ /0rigine/index.php [L]
Sinon je ne sais pas bien où il va chercher son index.php .
Sinon pour débugguer tes rewrite, tu peux aussi activer le log rewrite dans ta conf apache (c'est super verbeux, mais en général, ça permet de mettre le doigt sur ce qui pose problème).
http://httpd.apache.org/docs/2.2/mod/mo … RewriteLog
A+, Philippe
Hors ligne
Bonjour philippe.
1ère chose : J'ai modifier mon premier poste ou il y avait l'alias en 0rigine. J'ai fait une erreur de changement lorsque j'ai écrit le post. Donc pour rester dans la logique, j'accède à la page web en tapant http://monserveur/site1.
2ème chose: Pour la partie configuration du httpd.conf, je n'ai pas la liste des modules à charger par apache avec les # à enlever pour pouvoir rajouter des modules. Je crois qu'il y a une différence d'organisation des fichiers sous apache2 sur debian. Donc de ce coté là, je ne sais plus trop où chercher.
3ème chose : Pour les messages d'erreur d'apache à propose de l'url rewriting j'ai le message suivant dans le fichier:
/var/log/apache2/error.log
[error] [client 192.168.2.21] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/projet/site1/
Je cherche toujours... (dure dure)
Dernière modification par slaughter (02-04-2008 10:08:30)
Hors ligne
Si j'en crois ton message d'erreur, tu dois ajouter l'option FollowSymLinks dans ta conf apache.
Il faut donc modifier la ligne des Options dans ton bloc directory :
<Directory "/var/www/projet/site1/"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
Je ne connais pas bien Debian, je ne peux pas t'aider plus pour la conf spécifique sous Debian. Par contre ton message d'erreur semble montrer que c'est bien chargé.
A+, Philippe
Hors ligne
Bonjour,
slaughter a écrit:
2ème chose: Pour la partie configuration du httpd.conf, je n'ai pas la liste des modules à charger par apache avec les # à enlever pour pouvoir rajouter des modules. Je crois qu'il y a une différence d'organisation des fichiers sous apache2 sur debian. Donc de ce coté là, je ne sais plus trop où chercher.
Commande a2enmod pour activer des modules apache 2 sur les debian-like.
en gros, avec ton compte root, tu fais
a2enmod rewrite
et tu redémarres apache
Geoffrey
Hors ligne
Je l'ai déjà fait (cf premier post)
slaughter a écrit:
J'ai activé l'url rewriting par cette commande
Code:
a2enmod rewriteet je recontre maintenant l'erreur suivante :
Code:
403 ForbiddenEst-ce que cela veut dire que la configuration d'apache n'est pas correcte pour utiliser l'url rewriting?
Hors ligne
C'était bien ce qu'a dit philippe. Il manquait l'option FollowSymLinks.
Je peux enfin bosser sur le ZF
Merci beaucoup pour votre aide.
Dernière modification par slaughter (03-04-2008 00:54:11)
Hors ligne
Pages: 1