Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-11-2012 18:44:22

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

ZF 2 et les hébergements mutualisés

Zend Framework 2 étant disponible en version stable depuis quelques mois maintenant, peut-être souhaitez-vous vous lancer à l'aventure !

Si vous utilisez un hébergemement mutualisé, vous allez devoir, la plupart du temps, faire quelques modifications afin de faire fonctionner l'ensemble.

Voici une liste non exhaustive de différents hébergeurs, n'hésitez surtout pas à en ajouter d'autres !

Pré-requis

La première chose est de vérifier que l'hébergeur supporte AU MINIMUM la version PHP 5.3.3. La compatibilité n'est pas assurée pour les versions inférieurs de la branche PHP 5.3 (donc PHP 5.3.0, 5.3.1 et 5.3.2). Evidemment, plus récente est la version, mieux ce sera !

OVH

Chez OVH, la première étape consiste à activer PHP 5.4, en ajoutant ceci dans votre .htaccess :

Code:

SetEnv PHP_VER 5_4

Puis transférez normalement l'ensemble de votre code à la racine du serveur. Si vous suivez les noms de dossier recommandés par Zend Framework 2, vous aurez un dossier nommé "public". Renommez le en "www". Tout devrait fonctionner sans accroche.

1&1 (merci à matthieupetit)

Pour activer PHP 5.4, ajoutez les lignes suivantes dans votre .htaccess :

Code:

AddType x-mapp-php6 .php
AddHandler x-mapp-php6 .php

RewriteBase /

(bien qu'il soit marqué php6, cela active en réalité PHP 5.4).

1&1 (merci à Flobrflo)

Code:

Code:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php [NC,L]

o2switch (merci à Orkin)

Pour cet hébergeur, le ZF fonctionne directement il suffit de mettre l'ensemble du code dans le dossier www et votre site sera donc accessible à l'url suivante : http://mondomaine/public

Il est possible de déclarer un sous domaine afin de pointer directement sur le dossier public.

Dernière solution mettre l'ensemble du code à la racine de l'hébergement et déplacer le contenu du dossier public dans le dossier www comme pour OVH. Ceci fonctionne aussi en renommant le dossier public en www

Pour activer les extensions et ou configuration php il suffit de mettre un fichier php.ini à la racine de votre hébergement avec vos configurations spécifique. C'est normalement pris à chaud. Si vous avez des soucis, ne surtout pas hésiter à les appeler ils sont super sympa.

Voici un message du support technique qui indique comment changer la version de PHP et comment mettre le fichier php.ini. Le changement de version PHP est récent (octobre 2012)

o2switch a écrit:

Chez o2switch, vous disposez dès à présent de trois versions PHP simultanées.

Par défaut, la dernière version de la branche 5.3.x est installée. Il s'agit de la version générale compatible avec la majorité des outils PHP/SQL.
Deux autres branches PHP sont à présent disponibles : la 5.2.* et la 5.4.*

Pourquoi proposer cela ?
Certains hébergés peuvent avoir des scripts PHP anciens et être contraints de les utiliser.
D'autres sont développeurs et souhaitent être à la pointe des versions PHP. De fait, ils disposeront à présent de la branche 5.4.*

Comment faire pour choisir sa version ?
Si vos outils fonctionnent parfaitement nous déconseillons de changer quelque chose.

Sinon, vous pouvez créer un fichier .htaccess dans le dossier où la version php doit être modifiée.
Puis, indiquez :

Pour Php 5.2.* :
AddType application/x-httpd-php52 .php5 .php4 .php .php3 .php2 .phtml

Pour Php 5.4.* :
AddType application/x-httpd-php54 .php5 .php4 .php .php3 .php2 .phtml

Quelque soit la version concernée il est possible de modifier le fichier de configuration php.ini par simple création d'un fichier portant ce nom à la racine du script php concerné.
Vous indiquerez alors les variables souhaitées à l'intérieur.

Dernière modification par Orkin (15-11-2012 23:57:57)

Hors ligne

 

#2 07-01-2013 20:01:46

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Bonjour,

Je suis sur OVH et je met bien à la racine.
Dans le .htaccess (racine) je met bien : SetEnv PHP_VER 5_4
et je renomme bien public en www
mais cela continu a me pointer sur la liste des repertoires.
Et si je choisi www ca fonctionne mais pas les autres pages....

Hors ligne

 

#3 07-01-2013 23:41:16

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Salut tu as bien mis ton index.php à la racine de ton hébergement ?

Hors ligne

 

#4 08-01-2013 00:29:50

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Orkin a écrit:

Salut tu as bien mis ton index.php à la racine de ton hébergement ?

Bonjour,

Si je le met sur la racine j'ai cela :
Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.' in /homez.42/traiterm/www/init_autoloader.php:48 Stack trace: #0 /homez.42/traiterm/www/index.php(9): require() #1 {main} thrown in /homez.42/traiterm/www/init_autoloader.php on line 48

Hors ligne

 

#5 08-01-2013 13:58:33

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Je t'ai dit n'importe quoi le fichier index.php doit bien être dans le dossier public (ou www).

Peux tu nous montrer ton fichier .htaccess ?

Hors ligne

 

#6 08-01-2013 14:08:23

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Bonjour.

A la racine :
SetEnv PHP_VER 5_3

dans le répertoire public/ :
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /www/index.php

Merci

Hors ligne

 

#7 08-01-2013 14:16:33

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Déjà ton fichier n'est pas correct et tu n'as pas suivi ce qui est indiqué. Je vois pas ce que viens faire une règle de réécriture avec www alors que tu es dans le dossier public ...

Donc renomme ton dossier public en www et ensuite met le fichier .htaccess préconisé par le ZendSkeletonApplication ça devrait déjà arranger les choses :

https://github.com/zendframework/ZendSk … /.htaccess

Ensuite je comprend pas pourquoi tu demandes de l'aide pour activer php 5.4 et tu actives php 5.3 à la racine (je suis pas sûr que ça serve vu que la requête arrive directement dans www donc le fichier .htaccess ne doit pas être lu.

Bref une fois que tu as le bon fichier .htaccess tu peux rajouter en début de fichier le ligne pour activer la version de php dont tu as besoin sachant que de mémoire chez OVH php 5.3 est activé par défaut donc si tu souhaites utiliser cette version c'est inutile de le préciser.

Hors ligne

 

#8 08-01-2013 14:47:47

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Ecoute c'est ce que j'avais fait au début !

Je viens de retirer le .htaccess de la racine.
Renommer public en www.
Mettre dans www/.htaccess :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Et quand je démarre le site :
je tombe sur l'exploration des répertoires et non dans www/

Sinon je ne viendrais pas ici....

Hors ligne

 

#9 08-01-2013 14:51:20

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Et si je vais dans www, j'obtient :

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /homez.42/traiterm/www/www/index.php on line 12

Parse error: syntax error, unexpected T_STRING in /homez.42/traiterm/www/www/index.php on line 12


Et par défaut c'est PHP 4.4.9 d'activé et non PHP 5...


Et donc si je met dans le .htaccess comme ceci :
SetEnv PHP_VER 5_4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Le serveur me retourne :
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@www.XXX.xx and inform them of the time the error occurred, and anything you might have done that may have caused the error.



C'est un OVH plan : 60gp

EDIT 2 : je pense savoir pourquoi !
On doit mettre ce qui est dans www de ZF2 dans www de OVH et le reste dans / de OVH ? J'essaye.....

Dernière modification par Paul75 (08-01-2013 15:17:39)

Hors ligne

 

#10 08-01-2013 15:24:01

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Bon j'ai tous déplacer. Maintenant il va bien directement dans la page d'accueil.

Mais mon .htacces de www/ :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]


Et j'ai du mettre un htaccess dans / :
SetEnv PHP_VER 5_4

Sinon me restais en PHP 4.4.9.

Et les liens ne fonctionnent pas....

Hors ligne

 

#11 08-01-2013 16:12:28

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Et tu peux pas mettre SetEnv PHP_VER 5_4 directement dans le .htaccess du dossier www ?

Pour le reste je vois pas. Si le site s'affiche et qu'en tapant les urls dans la barre d'adresse les bonnes pages s'affichent c'est que le problème des liens viens de chez toi smile

Hors ligne

 

#12 08-01-2013 16:18:11

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Si je met : SetEnv PHP_VER 5_4 en plus du reste, cela me donne une erreur 'Internal Server error'.

Il fonctionne (la page d'accueil) en mettant uniquement SetEnv PHP_VER 5_4 dans le .htaccess

Je signale que le projet fonctionne sur MAMP / LAMP / WAMP en local....

Merci.

Hors ligne

 

#13 08-01-2013 17:00:43

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Dans ce cas laisse le .htaccess que je t'ai donné tout à l'heure et laisse donc le php 5.4 dans celui à la racine. Si tu ne mets pas ces instructions tu auras des problèmes puisque c'est le fichier index.php qui est le fichier d'entré donc toutes les requêtes doivent passer par lui et c'est ce fichier qui déclenche tout le moteur MVC du ZF2 qui va dispatcher ta requête au bon endroit.

Pour les liens tu utilises bien l'aide de vue url ?

Hors ligne

 

#14 08-01-2013 17:09:12

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Oui les liens je fais comme cela, pour le lien Me contacter, par exemple :

Code:

<li class="item contact"><a href="<?php echo $this->basePath();?>/site/contact">Me contacter</a></li>

J'ai l'impression qu'il ne va pas dans le .htaccess de www si j'en met un dans / ? bizarre car je met dans le .htaccess n'importe quoi (dans www) et il fais pas d'erreur...

Dès que je met : RewriteEngine On

Le serveur plante...

Hors ligne

 

#15 08-01-2013 18:18:09

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Donc déjà tu n'utilises pas l'aide de vue url tu écris les liens en dur. L'aide de vue url te permet de générer l'url d'un lien en fonction de la route.

Pour le reste je vois pas dsl

Hors ligne

 

#16 08-01-2013 19:08:36

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Ecoute, je fais aussi comme cela :
<li class="item contact"><a href="<?php echo $this->url('site', array('action'=>'contact'));?>">Me contacter</a></li>

Mais cela donne la même chose....
Donc cela veux dire que Zend 2 ne fonctionne pas sur les serveurs OVH....

Hors ligne

 

#17 08-01-2013 22:01:03

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Pour information, j'ai testé à mettre une petite application avec Zend v1 et pareil, même résultat......

Hors ligne

 

#18 08-01-2013 22:48:07

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

L'url rewriting ne fonctionne peut être pas sur ce type d'hébergement. Enfin si ça plante lors que tu actives la réécriture d'url avec une erreur 500 c'est que le mod_rewrite n'est pas activé et donc qu'apache ne comprend pas la directive RewriteEngine

Hors ligne

 

#19 08-01-2013 23:28:23

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

Re: ZF 2 et les hébergements mutualisés

C'est étrange, j'ai déjà mis en place des ZF1 sur OVH sans aucun problème...

Hors ligne

 

#20 08-01-2013 23:59:30

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Théocrite a écrit:

C'est étrange, j'ai déjà mis en place des ZF1 sur OVH sans aucun problème...

Ecoute je ne le fais pas exprès. J'ai essayé 4 fois et pareil....

Hors ligne

 

#21 09-01-2013 08:42:18

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Renseigne toi voir si le mod_rewrite est bien activé

Hors ligne

 

#22 09-01-2013 09:12:55

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

Re: ZF 2 et les hébergements mutualisés

On récapitule :
- Ton répertoire public est /www/ et le reste de ton appli ZF est dans /
- Tu as un .htaccess dans /www/ qui contient un SetEnv pour php 5.4 et le rewriting

Il faut que ton htaccess soit dans cet ordre :

Code:

Options -Indexes
Options -Multiviews
Options +FollowSymLinks
SetEnv REGISTER_GLOBALS 0

SetEnv PHP_VER 5_4

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Hors ligne

 

#23 09-01-2013 09:49:54

Paul75
Membre
Lieu: Paris
Date d'inscription: 23-12-2010
Messages: 101

Re: ZF 2 et les hébergements mutualisés

Théocrite a écrit:

On récapitule :
- Ton répertoire public est /www/ et le reste de ton appli ZF est dans /
- Tu as un .htaccess dans /www/ qui contient un SetEnv pour php 5.4 et le rewriting

Il faut que ton htaccess soit dans cet ordre :

Code:

Options -Indexes
Options -Multiviews
Options +FollowSymLinks
SetEnv REGISTER_GLOBALS 0

SetEnv PHP_VER 5_4

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Bonjour,

Je met exactement cela dans le htaccess et cela me sort "Internal Server Error".

Merci.

Hors ligne

 

#24 09-01-2013 09:51:40

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

Re: ZF 2 et les hébergements mutualisés

Essaye d'aller sur les logs d'erreur pour avoir un peu plus de détails : https://logs.ovh.net/.

Hors ligne

 

#25 09-01-2013 09:52:24

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF 2 et les hébergements mutualisés

Allo ? Tu peux lire les réponses qu'on te donne ?

Orkin a écrit:

Renseigne toi voir si le mod_rewrite est bien activé

S'il n'est pas activé, c'est NORMAL que tu ais une erreur 500 soit "Internal Server Error"

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