Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Server API Apache 2.0 Handler
PHP 5.2.11
PHP API 20041225
PHP Extension 20060613
Zend Framework extension 220060519
Zend Engine v2.2.0
Install Full de Zend Studio Professional Edition Version 7.0.2.v20091007
Je débute sur Apache/Php/Zend.
Mais je devine que mon problème est si bête, que je ne l'ai trouvé nulle part (du genre page par défaut d'un site ? Je ne sais pas) Si quelqu'un peut m'aider, je le remercie d'avance.
http://localhost/MonProjet
affiche l'arborescence (library et tests)
http://localhost/MonProjet/index.php
affiche une erreur 404
http://localhost/MonProjet/public/index.php
affiche une "Internal Server Error" et m'enjoint à consulter le "server log", qui est vide.
Moi, je voudrais l'affichage de index.php. Sachant que je n'ai rien dans $IndexController->indexAction() et que ma page index.php est par défaut (voir ci-dessous...)
Il s'agit d'un oubli de config, je pense, que je ne trouve dans aucun tuto...
Voici l'arborescence de MonProjet, sans les tests, qui est celle créée par défaut par Zend Studio.
application/
configs/
application.ini
controllers/
ErrorController.php
IndexController.php
models/
views/
helpers/
scripts/
error/
error.phtml
index/
index.phtml
Bootstrap.php
library/
public/
index.php
tests/
Dans Bootstrap.php:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader ( array ( 'namespace' => '', 'basePath' => APPLICATION_PATH ) ); return $moduleLoader; } }
Dans application.ini
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1
Dans IndexController.php
class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } }
Dans index.php
// Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), ))); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap, and run $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); $application->bootstrap() ->run();
Dernière modification par jsene (29-10-2009 14:59:05)
Hors ligne
Hors ligne
Je te conseille aussi d'utiliser les balises 'code' du forum. Merci
Hors ligne
Est-ce que tu as un .htaccess ? est-ce que tu peux nous l'envoyer ?
A+, Philippe
Hors ligne
Merci pour toutes ces réponses.
Dans les logs Apache, il y a bien quelque chose relatif au REWRITE
Log:
[Wed Oct 28 08:45:12 2009] [alert] [client 127.0.0.1] C:/wamp/www/MonProjet/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Quand je mets les directives REWRITE dans le .htaccess, la seule différence que j'ai est la disparition, dans le listing des dossiers qui s'affiche dans mon navigateur, du dossier application (même réaction avec RewriteEngine Off). Quand le mets les lignes en commentaire, le dossier apparaît...
SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Je vais donc aller voir du côté des liens suggérés par Junk, à moins, Philippe, que tu n'aies une autre idée ?
Dernière modification par jsene (28-10-2009 09:00:35)
Hors ligne
Le mod rewrite n'est pas inclus.
Il manque une ligne du type
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
Dans la configuration de ton apache
(attention, je suis sur un freebsd, à toi de modifier en fonction de ton serveur hote)
Dernière modification par nORKy (28-10-2009 09:00:13)
Hors ligne
Merci, j'avance !
Après avoir ajouté la ligne suivante au http.conf:
LoadModule rewrite_module modules/mod_rewrite.so
Le log m'indique, quand j'attaque http://localhost/MonProjet/index.php :
[Wed Oct 28 09:08:57 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/favicon.ico [Wed Oct 28 09:09:01 2009] [error] [client 127.0.0.1] script 'C:/wamp/www/MonProjet/index.php' not found or unable to stat [Wed Oct 28 09:09:01 2009] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/favicon.ico
et quand j'attaque http://localhost/MonProjet rien ne se passe, que l'affichage du listing des dossiers de mon projet Zend... (application, library, public, tests)
Enfin, quand j'attaque http://localhost/MonProjet/public/index.php j'ai mon code.
Et il plante car je n'ai pas Zend dans mon dossier library de MonProjet, alors qu'il me semble bien avoir créé un Zend Framework Project dans ZendStudio... Mais c'est du détail, car je l'ajoute et ça tourne et j'ai la page par défaut qui s'affiche et je peux commencer à bosser !
Merci à tous, il me reste à trouver comment modifier le sujet de cette discussion pour y mettre les détails de version et [résolu] !
Dernière modification par jsene (28-10-2009 09:23:23)
Hors ligne
Tu édites ton premier message et tu tapes "[Résolu]" devant le titre
A+, Philippe
Hors ligne
Pages: 1