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:
-
Un serveur Ubuntu 14.04
-
Un utilisateur sudo non root, que vous pouvez configurer en suivant lesInitial Server Setup tutorial
[[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:
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.