Comment installer et démarrer avec Symfony 2 sur Ubuntu 14.04

introduction

Symfony est un framework PHP open-source à pile intégrale. Il est bien connu pour ses composants indépendants qui peuvent être facilement intégrés dans tout autre projet PHP. Le framework Symfony convient à la construction d’applications PHP de toutes tailles, y compris les applications de console conçues pour être exécutées uniquement en ligne de commande.

Dans ce tutoriel, nous verrons comment installer, configurer et commencer à utiliser une application Symfony 2 sur Ubuntu 14.04.

[.note] # Ceci est une configuration dedevelopment, destinée à vous familiariser avec Symfony et à vous aider à écrire votre premier projet Symfony. Nous allons vous guider à travers la configuration et l'installation d'un tout nouveau projet Symfony.
#

Conditions préalables

Pour ce tutoriel, vous aurez besoin de:

[[step-1 -—- Installing-php]] == Étape 1 - Installation de PHP

Avant de commencer, nous devrons installer PHP pour l’environnement en ligne de commande. Il n’est pas nécessaire d’installer un serveur Web complet, comme Apache ou Nginx, car Symfony est livré avec une commande de console rendant facile l’exécution et la gestion du serveur Web intégré de PHP pendant le développement de votre application. C’est un moyen simple et efficace d’exécuter l’application en mode développement.

Commençons par mettre à jour le cache du gestionnaire de paquets:

sudo apt-get update

Maintenant, pour utiliser et exécuter des scripts PHP via la ligne de commande, installez le packagephp5-cli.

sudo apt-get install php5-cli

Vous devriez maintenant avoir PHP installé sur votre serveur. Pour vérifier si l'installation a réussi, exécutez:

php -v

Et vous devriez obtenir une sortie semblable à celle-ci:

OutputPHP 5.5.9-1ubuntu4.11 (cli) (built: Jul 2 2015 15:23:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

[[step-2 -—- configuring-date-timezone-in-php-ini]] == Étape 2 - Configuration de date.timezone dans php.ini

Symfony exige que l'optiondate.timezone soit définie dans votre ou vos fichiersphp.ini. Si vous testez ce didacticiel sur un nouveau serveur, cette option n'est pas encore définie. Si tel est le cas, votre application Symfony ne fonctionnera pas.

Nous devrons modifier le fichierphp.ini du serveur pour nous assurer que cette option est définie. Ce fichier doit être situé à/etc/php5/cli/php.ini.

Ouvrez le fichierphp.ini en utilisant nano ou votre éditeur de ligne de commande préféré:

sudo nano /etc/php5/cli/php.ini

Recherchez la ligne contenantdate.timezone. Décommentez la directive en supprimant le signe; au début de la ligne et ajoutez le fuseau horaire approprié pour votre application. Dans cet exemple, nous utiliseronsEurope/Amsterdam, mais vous pouvez choisir n’importe quelsupported timezone.

Php.ini modifié

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Amsterdam

Enregistrez le fichier et quittez.

[[step-3 -—- getting-the-symfony-installer]] == Étape 3 - Obtenir le programme d'installation de Symfony

Le moyen le plus simple de créer un nouveau projet Symfony est d'utiliser le programme d'installation officiel de Symfony. C’est un simple script créé pour faciliter le démarrage de nouvelles applications Symfony.

La commande suivante téléchargera le programme d'installation de Symfony et le placera sur le chemin de votre/usr/local/bin:

sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony

Maintenant, vous devez rendre le script exécutable avec la commande suivante:

sudo chmod a+x /usr/local/bin/symfony

Pour tester le programme d’installation de Symfony, exécutez:

symfony

Le résultat devrait ressembler à ceci:

Output
 Symfony Installer (1.1.7)
 =========================

 This is the official installer to start new projects based on the
 Symfony full-stack framework.

 To create a new project called blog in the current directory using
 the latest stable version of Symfony, execute the following command:

   symfony new blog

. . .

[[step-4 -—- Creating-a-new-symfony-project]] == Étape 4 - Création d'un nouveau projet Symfony

Maintenant que le programme d’installation Symfony est en place, nous pouvons continuer et créer un nouveau projet Symfony. Comme il s’agit d’une configuration de développement et que nous utiliserons le serveur Web intégré de PHP, vous pouvez créer le projet dans votre répertoire personnel. Pour cet exemple, nous allons créer un projet nommé «myproject», mais vous pouvez utiliser votre propre nom de projet dans la commande suivante.

cd ~
symfony new myproject

Cela créera un nouveau dossiermyproject dans votre répertoire personnel, contenant une toute nouvelle application Symfony. La commande produira une sortie similaire à celle-ci:

Output
 Downloading Symfony...

 Preparing project...

 ✔  Symfony 2.7.3 was successfully installed. Now you can:

    * Change your current directory to /home/sammy/myproject

    * Configure your application in app/config/parameters.yml file.

    * Run your application:
        1. Execute the php app/console server:run command.
        2. Browse to the http://localhost:8000 URL.

    * Read the documentation at http://symfony.com/doc

[[step-5 -—- exécution-de-l'application-avec-la-console-symfony]] == Étape 5 - Exécution de l'application avec la console Symfony

Le serveur Web intégré fourni avec PHP (depuis PHP 5.4) est adapté à l'exécution d'applications PHP en cours de développement, de tests ou de démonstrations. Cela permet une expérience sans frottement, car vous n’aurez pas besoin de vous préoccuper de la configuration d’un serveur Web complet comme Apache ou Nginx.

Symfony est livré avec une commande de console qui facilite le processus de démarrage / arrêt du serveur Web intégré de PHP, vous permettant également (depuis Symfony 2.6) d’exécuter le serveur Web en arrière-plan.

La console Symfony est un script CLI comportant plusieurs commandes pour vous aider à construire et à tester votre application. Vous pouvez même écrireinclude your own commands en PHP!

Le serveur Web peut être lancé à tout moment avec la commande de consoleserver:run. Cependant, les paramètres par défaut utilisés par la commande Symfony n'accepteront que les connexions àlocalhost sur le port8000. Si vous suivez ce didacticiel sur un serveur de développement / test externe ou sur une machine virtuelle locale, vous devrez fournir un paramètre supplémentaire à la commande pour indiquer au serveur Web d'écouter une adresse IP différente.

Pour autoriser les connexions provenant de réseaux internes et externes, exécutez cette commande à partir du répertoire du projet:

php app/console server:run 0.0.0.0:8000
OutputServer running on http://0.0.0.0:8000

Quit the server with CONTROL-C.

Cela démarrera le serveur Web intégré de PHP, en écoutant toutes les interfaces réseau sur le port8000.

Vous devriez maintenant pouvoir accéder à l'application si vous pointez votre navigateur surhttp://your_server_ip:8000. Vous devriez voir une page comme celle-ci:

Symfony App Preview

La commande continuera à s'exécuter dans le terminal actif jusqu'à ce que vous terminiez son exécution avecCTRL+C. Pour que le serveur Web s'exécute en arrière-plan, vous devez utiliser la commandeserver:start à la place:

php app/console server:start 0.0.0.0:8000
OutputWeb server listening on http://0.0.0.0:8000

Cela fera fonctionner le serveur Web en arrière-plan, laissant votre session de terminal libre pour exécuter d'autres commandes. Pour arrêter le serveur, vous devez utiliser:

php app/console server:stop 0.0.0.0:8000
OutputStopped the web server listening on http://0.0.0.0:8000

Vous pouvez également vérifier l'état du serveur Web avec:

php app/console server:status 0.0.0.0:8000

Lorsque le serveur ne fonctionne pas, voici le résultat que vous devriez obtenir:

OutputNo web server is listening on http://0.0.0.0:8000

Lorsqu'un serveur actif s'exécute dans l'IP et le port spécifiés, vous devriez obtenir une sortie comme celle-ci:

OutputWeb server still listening on http://0.0.0.0:8000

N'oubliez pas que les commandesserver:stop etserver:status doivent inclure la même partieIPADDRESS:PORT que vous avez utilisée lors de l'initialisation du serveur avecserver:start.

Conclusion

Symfony est un framework PHP complet qui convient à la création d’applications de toutes tailles. Dans ce tutoriel, nous avons vu comment installer et démarrer Symfony 2 sur un nouveau serveur Ubuntu 14.04 à l’aide du serveur Web intégré de PHP pour exécuter l’application. Pour plus d'informations sur la façon de créer des applications PHP à l'aide de Symfony, jetez un œil à leursofficial documentation.

Related