Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Symfony : passer son site en production

Article posté le 31-08-2014 dans la catégorie PHP

Vous voulez essayer ou tout simplement vous souhaitez passer votre site/application réalisée sous Symfony 2 en ligne? Ce n'est pas très compliqué...

1- Préparation en local

Tout d'abord vous devez vider le cache, du mode développement, avec la console :

php app/console cache:clear

Puis faire de même pour le mode production :

php app/console cache:clear --env=prod

Ensuite, ouvrez le contrôleur frontal, le fichier web/app.php :

Et passer à true l'activation de l'affichage des erreurs mode production :

$kernel = new AppKernel('prod', true);

Cela va vous permettre de réaliser vos tests, que tout marche bien une fois mis en ligne. Une fois que c'est fait, pensez à repasser le paramètre à false!

Dans tous les cas, les erreurs sont toujours enregistrées dans les log, accessible dans app/logs/prod.

IMPORTANT : parfois, cela ne suffit pas... Ainsi, à chaque fois que vous ferez des modifications en ligne, pensez ausis à vider manuellement le répertoire du cach dans : app/cache

En cas de problèmes...

Plus loin après l'upload, vous pourrez avoir quelques messages d'erreurs, du style :

Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING

Avant de lire la suite, vérifiez que :

- Vous avez bien fait un CHMOD 755 sur vos répertoires /app/cache et /app/logs.

- Que vous utilisez une version de PHP 'correcte'.

Sinon... En ligne, vous pourrez vérifier que votre serveur est compatible en tapant l'URL www.monsite.com/config.php. Mais ce dernier, qui se trouve dans app verrouille l'accès par défaut. Une fois en ligne, il faut donc l'éditer en retirant le bloc ci-dessous, ou en ya rajout votre IP. Pensez à tout remettre comme à l'origine une fois vos manipulations terminées!

<?php
// web/config.php
// …
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
  '127.0.0.1',
  '::1',
))) {
  header('HTTP/1.0 403 Forbidden');
  exit('This script is only accessible from localhost.');
}

2- Upload des fichiers

Bon pas la peine de vous expliquez trop longtemps, vous mettez vos fichiers en ligne. A noter que sur certains hébergeurs, le répertoire public n'a pas toujours le même nom. Ainsi par exemple sur OVH, c'est www. Donc vos fichier qui sont dans le répertoire web en local, devront aller dans le dossier www en ligne. A moins de vous créer un sous-domaine ou d'avoir accès aux paramétrages du serveur!

3- Modification sur le serveur

Vous pouvez vous autorisez le mode développement, en ligne, à partir de votre ip uniquement si vous le souhaitez. Vous avez juste à la rajouter dans app/app_dev.php.

 


Tweet
comments powered by Disqus