Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-03-2013 00:04:08

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Heberger un projet local en ligne

Bonjour,
J'ai un petit projet Zend développé en local avec Wamp, tout fonctionne correctement.
J'ai voulu l'héberger sur mon ftp sur olympe (c'est un hébergeur gratuit) mais le problème est que je ne peux accéder à aucuns liens. J'ai accès à mon index avec les différents liens mais quand je clique sur n'importe quel lien, ça me met page introuvable.
Vous avez une idée de ce que ça pourrait être ?
Merci d'avance.

Hors ligne

 

#2 02-03-2013 12:41:27

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Bonjour,

Pour ma part probleme resolu grace au .htaccess trouvé ici

Hors ligne

 

#3 02-03-2013 14:32:53

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Merci, j'ai essayé mais ça ne marche toujours pas.
En local, mon fichier index.php et .htaccess sont à la racine du projet, ils ne sont pas dans le dossier /public
Lorsque je le met sur mon site web, je dois mettre le fichier index.php dans /public et le .htaccess à la racine ?

Hors ligne

 

#4 02-03-2013 15:49:30

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

nico_loin a écrit:

Lorsque je le met sur mon site web, je dois mettre le fichier index.php dans /public et le .htaccess à la racine ?

OUI

Hors ligne

 

#5 02-03-2013 15:58:18

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Quand je fais ça, j'ai ce message d'erreur :
Fatal error: require_once(): Failed opening required 'Zend/View.php' (include_path='.') in /dns/in/olympe/monftp/Zend/public/index.php on line 17
Ma ligne 17 c'est ca: require_once 'Zend/View.php';
J'ai essayé require_once '../Zend/View.php'; mais ça ne change rien ...

Hors ligne

 

#6 02-03-2013 16:45:43

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Attention ch'ui pas un pro en .htacccess. J'dis ça pour pas te faire perdre ton temps au cas ou...

nico_loin a écrit:

Fatal error: require_once(): Failed opening required 'Zend/View.php' (include_path='.') in /dns/in/olympe/monftp/Zend/public/index.php on line 17
.

Zend/View.php doit etre dans le dossier 'library' or celui-ci n'est pas inscrit dans l'include path.

Le fichier index.php tu l'as créer toi meme ?
Quelle est la structure de tes dossiers ?

Pour moi tu es sur ZF-1 et ta structure de dossier ressemble (maintenant) à ça:
application
                 / etc...
library/ 
          Zend
public/
         index.php
.htaccess
   
Ajoute cette portion de code au debut du fichier index.php et vois ce que ça donne

Code:

[lang=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') : 'development'/*'production'*/));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

Dernière modification par us2rn4m2 (02-03-2013 17:07:15)

Hors ligne

 

#7 02-03-2013 20:45:51

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Ma structure est de la forme
application
docs
library
public
tests
.htaccess

J'ai essayé de mettre ton code au début de mon fichier index.php mais j'ai une autre erreur :
Fatal error: Uncaught exception 'Zend_Config_Exception' with message 'Section 'production' cannot be found in ./application/configs/application.ini' in /dns/in/olympe/monftp/Zend/library/Zend/Config/Ini.php:151 Stack trace: #0 /dns/in/olympe/monftp/Zend/public/index.php(34): Zend_Config_Ini->__construct('./application/c...', 'production') #1 {main} thrown in /dns/in/olympe/monftp/Zend/library/Zend/Config/Ini.php on line 151

Je t'avoue avoir du mal a comprendre toute ces erreurs !

Hors ligne

 

#8 02-03-2013 21:35:14

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: Heberger un projet local en ligne

Pourrais-tu poster le contenu de ton application.ini (hors itentifiants base de données) ?

Globalement, il faut que tu ais des sections dedans : [section]

Donc au pire, en première ligne de ton application.ini, tu ajoutes [production]

Hors ligne

 

#9 02-03-2013 22:34:32

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Le point positif c'est que cette erreur demontre que le dossier library est inscrit dans l 'include path.
Avant de commencer a tout retourner tu nous dis

nico_loin a écrit:

Bonjour,
J'ai un petit projet Zend développé en local avec Wamp, tout fonctionne correctement.

il fonctionne ok mais le .htaccess + la portion de code que je t'ai proposé redirige tout les appels vers l'index.php lequel demarre ensuite l'application (ton site). Du coup si tu ne l'as pas ca t'impose au moins la structure de base au niveau des dossiers- fichiers pour un projet Zend.

A quoi ressemblent ton index.php, ton application.ini ?

Dernière modification par us2rn4m2 (02-03-2013 22:40:10)

Hors ligne

 

#10 03-03-2013 17:05:47

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Alors, voici mon index.php :

Code:

<?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') : 'development'/*'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/View.php';

$view = new Zend_View();
$view->setHelperPath(realpath(APPLICATION_PATH . '/views/helpers'));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);

// Chargement automatique de Zend_Db_Adapter_Pdo_Mysql, et instanciation.
$config = new Zend_Config_Ini('./application/configs/application.ini', 'production');

$db = Zend_Db::factory($config->database->adapter,array(
   'host'  => $config->database->host,
  'username'  => $config->database->params->username,
  'password'  => $config->database->params->password,
  'dbname'  => $config->database->params->dbname,
    )
);

$registry = Zend_Registry::getInstance();
// placer la connexion dans un registre global à l'application
$registry->set('db', $db);
// en faire la connexion par defaut
Zend_Db_Table::setDefaultAdapter($db);
$application->bootstrap();
//demarrer
$application->run();

?>

Puis mon fichier application.ini :

Code:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

database.adapter = PDO_MYSQL
database.params.host = sql.olympe.in
database.params.username = ****
database.params.password = ****
database.params.dbname = ****

resources.layout.layoutpath = APPLICATION_PATH "/layouts"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

C'est peut etre un problème avec les redirections non ?

Hors ligne

 

#11 03-03-2013 17:59:27

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Dans index.php

1. Change la valeur de APPLICATION_ENV. A la place de 'production' tu mets 'development'. Tu le remetras en 'production' quand tout sera clean.  (Tu l'as pas remarqué mais je l'avais modifié hier)

Code:

[lang=php]
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));

2. Change cette ligne

Code:

[lang=php]
$config = new Zend_Config_Ini('./application/configs/application.ini', 'production');

en

Code:

[lang=php]
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'production');

Dernière modification par us2rn4m2 (03-03-2013 18:09:59)

Hors ligne

 

#12 03-03-2013 18:15:05

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

C'est déjà mis en 'development', 'production' est mis en commentaire.
J'ai changé la ligne, j'ai l'index qui s'affiche mais le css n'est pas pris en compte deja, puis quand je clique sur un lien, aucun ne fonctionne, la page n'est pas trouvée

Hors ligne

 

#13 03-03-2013 18:39:20

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Pour le css nettoie le cache du navigateur ou bien change de navigateur. Si le css ne s'affiche pas ... c'est pas grave pour l'instant, verra plus tard.
Envoie nous la valeur href d'un lien qui marche pas et le code que t'utilises pour créer ce lien.

Hors ligne

 

#14 03-03-2013 19:01:00

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Ca fait pareil pr le CSS avec un autre navigateur, mais pas tres grave.
Voila le href d'un lien dans mon layout.phtml

Code:

[lang=phtml]<a href="<?php echo $this->url(array('controller' => 'visiteur','action'=>'index')); ?>">
                Visiteurs</a><br/>

Dernière modification par nico_loin (03-03-2013 19:02:21)

Hors ligne

 

#15 03-03-2013 20:33:34

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Dans le script de vue index.phtml place le code ci-dessous.

Code:

[lang=php]
<?php var_dump($this->baseUrl()); ?>

quelle est la valeur href du lien visiteur lorsque tu click sur view page source dans ton navigateur ?
<a href="la valeur href">Visiteurs</a><br/>

Quelles sont les valeurs?

Dernière modification par us2rn4m2 (03-03-2013 20:42:45)

Hors ligne

 

#16 03-03-2013 22:04:10

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Le var_dump me retourne : string(12) "/Zend/public"
Et dans le code source j'ai : <a href="/Zend/public/visiteur">
Ah la vache c'est pour ça le lien ne devrait pas etre dans /public ?

Hors ligne

 

#17 04-03-2013 11:08:40

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

nico_loin a écrit:

Ah la vache c'est pour ça le lien ne devrait pas etre dans /public ?

Non, si baseurl n'a pas besoin d'etre redefini plus tard les valeurs sont ok pour l'instant

Avant d'installer ton site sur olympe y'avait pas un htaccess de base avec une certaine valeur ? Si oui recupere la et place la dans le htaccess sinon essaye cette valeur RewriteBase /

Qu'est ce que ça donne ?

Hors ligne

 

#18 04-03-2013 14:59:05

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Non, j'avais aucun htaccess.
Par contre, sur mon ftp j'ai plusieurs dossier à la racine, puis pour mon projet zend, j'ai fait un dossier Zend et j'ai tout mis dedans. J'ai un htaccess que j'ai créé à la racine de tout mon ftp, et un htaccess dans le dossier Zend. Ca peut etre a cause des 2 htaccess que ca plante ?

Hors ligne

 

#19 05-03-2013 22:04:48

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

nico_loin a écrit:

Non, j'avais aucun htaccess.
Par contre, sur mon ftp j'ai plusieurs dossier à la racine, puis pour mon projet zend, j'ai fait un dossier Zend et j'ai tout mis dedans. J'ai un htaccess que j'ai créé à la racine de tout mon ftp, et un htaccess dans le dossier Zend. Ca peut etre a cause des 2 htaccess que ca plante ?

En fait il faut pouvoir acceder a la valeur "AllowOverride all" du fichier httpd.conf de apache. Le htaccess que je t'ai donné en lien marche pour moi et pour beaucoup d'autres. Donc je sais pas trop quoi te dire... Il faut que tu testes...T'as essayé cette valeur RewriteBase / ?

Pour le css
Dans Bootstrap.php

Code:

[lang=php]
protected function _initController()
{
   $front = Zend_Controller_Front::getInstance();        
   $front->setBaseUrl('/Zend');    // soi c'est cette valeur, soi c'est une autre...
}

Dernière modification par us2rn4m2 (05-03-2013 22:05:54)

Hors ligne

 

#20 06-03-2013 14:52:26

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

J'ai réessayer avec ton .htaccess mais avec celui là je peux meme pas accéder à l'index, ca me met une erreur 404. Est-ce que t'aurais une adresse skype, ce serait plus simple pour discuter ...

Hors ligne

 

#21 07-03-2013 18:26:06

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Heberger un projet local en ligne

Ton  probleme n'a plus trop de rapport avec Zend. J'te conseillerais surtout de te tourner vers le forum olympe et celui du site du zero. Sur le sdz y'a vraiment des 'costauds' qui pourront mieux que moi t'aiguiller vers la solution, dailleurs parmis les derniers post en date il est justement quetion du .htaccess...

Je vais tout de meme faire 2-3 tests de mon coté et si j'ai quelque chose je poste.

Dernière modification par us2rn4m2 (07-03-2013 19:07:25)

Hors ligne

 

#22 08-03-2013 00:56:49

nico_loin
Membre
Date d'inscription: 02-03-2013
Messages: 11

Re: Heberger un projet local en ligne

Ok pas de probleme, merci pour ton aide en tout cas !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages