Einführung
Symfony ist ein Open-Source-PHP-Framework mit vollem Stapel. Es ist bekannt für seine unabhängigen Komponenten, die sich problemlos in jedes andere PHP-Projekt integrieren lassen. Das Symfony-Framework eignet sich zum Erstellen von PHP-Anwendungen jeder Größe, einschließlich Konsolenanwendungen, die nur auf der Befehlszeile ausgeführt werden sollen.
In diesem Tutorial erfahren Sie, wie Sie eine Symfony 2-Anwendung unter Ubuntu 14.04 installieren, konfigurieren und in Betrieb nehmen.
[.note] #Dies ist eindevelopment-Setup, mit dem Sie sich mit Symfony vertraut machen und mit dem Schreiben Ihres ersten Symfony-Projekts beginnen können. Wir führen Sie durch die Einrichtung und Installation eines brandneuen Symfony-Projekts.
#
Voraussetzungen
Für dieses Tutorial benötigen Sie:
-
Ein Ubuntu 14.04 Server
-
Ein Sudo-Benutzer ohne Rootberechtigung, den Sie einrichten können, indem Sie denInitial Server Setup tutorial folgen
[[Schritt-1 - Installation von PHP]] == Schritt 1 - Installation von PHP
Bevor wir beginnen, müssen wir PHP für die Befehlszeilenumgebung installieren. Es ist nicht erforderlich, einen voll ausgestatteten Webserver wie Apache oder Nginx zu installieren, da Symfony mit einem Konsolenbefehl geliefert wird, mit dem es einfach ist, den integrierten Webserver von PHP auszuführen und zu verwalten, während Sie Ihre Anwendung entwickeln. Dies ist eine einfache und effiziente Methode, um die Anwendung im Entwicklungsmodus auszuführen.
Aktualisieren Sie zunächst den Paketmanager-Cache:
sudo apt-get update
Installieren Sie jetzt das Paketphp5-cli
, um PHP-Skripte über die Befehlszeile zu verwenden und auszuführen.
sudo apt-get install php5-cli
Sie sollten jetzt PHP auf Ihrem Server installiert haben. Um zu überprüfen, ob es erfolgreich installiert wurde, führen Sie Folgendes aus:
php -v
Und Sie sollten eine Ausgabe ähnlich der folgenden erhalten:
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
[[Schritt-2 - Konfigurieren von Datum-Zeitzone-in-PHP-INI]] == Schritt 2 - Konfigurieren von Datum.Zeitzone in PHP.ini
Für Symfony muss die Optiondate.timezone
in denphp.ini
-Dateien festgelegt sein. Wenn Sie dieses Lernprogramm auf einem neuen Server testen, ist diese Option noch nicht definiert. In diesem Fall wird Ihre Symfony-Anwendung nicht ausgeführt.
Wir müssen diephp.ini
-Datei des Servers bearbeiten, um sicherzustellen, dass diese Option definiert ist. Diese Datei sollte sich bei/etc/php5/cli/php.ini
befinden.
Öffnen Sie diephp.ini
-Datei mit nano oder Ihrem bevorzugten Befehlszeileneditor:
sudo nano /etc/php5/cli/php.ini
Suchen Sie nach der Zeile mitdate.timezone
. Kommentieren Sie die Anweisung aus, indem Sie das;
-Zeichen am Zeilenanfang entfernen und die entsprechende Zeitzone für Ihre Anwendung hinzufügen. In diesem Beispiel verwenden wirEurope/Amsterdam
, Sie können jedoch beliebigesupported timezone auswählen.
Geänderte php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Amsterdam
Speichern Sie die Datei und beenden Sie sie.
[[Schritt 3 - Abrufen des Symfony-Installationsprogramms]] == Schritt 3 - Abrufen des Symfony-Installationsprogramms
Der einfachste Weg, ein neues Symfony-Projekt zu erstellen, ist die Verwendung des offiziellen Symfony-Installationsprogramms. Es ist ein einfaches Skript, das erstellt wurde, um das Booten neuer Symfony-Anwendungen zu erleichtern.
Mit dem folgenden Befehl wird das Symfony-Installationsprogramm heruntergeladen und auf dem Pfad Ihres/usr/local/bin
platziert:
sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
Jetzt müssen Sie das Skript mit dem nächsten Befehl ausführbar machen:
sudo chmod a+x /usr/local/bin/symfony
Führen Sie zum Testen des Symfony-Installationsprogramms Folgendes aus:
symfony
Die Ausgabe sollte folgendermaßen aussehen:
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
. . .
[[Schritt 4 - Erstellen eines neuen Symfony-Projekts]] == Schritt 4 - Erstellen eines neuen Symfony-Projekts
Nachdem wir das Symfony-Installationsprogramm installiert haben, können wir fortfahren und ein neues Symfony-Projekt erstellen. Da dies ein Entwicklungssetup ist und wir den in PHP integrierten Webserver verwenden, können Sie fortfahren und das Projekt in Ihrem Home-Verzeichnis erstellen. In diesem Beispiel erstellen wir ein Projekt mit dem Namen "myproject". Sie können jedoch im nächsten Befehl Ihren eigenen Projektnamen verwenden.
cd ~
symfony new myproject
Dadurch wird ein neuer Ordnermyproject
in Ihrem Home-Verzeichnis erstellt, der eine brandneue Symfony-Anwendung enthält. Der Befehl erzeugt eine Ausgabe ähnlich der folgenden:
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
[[Schritt 5 - Ausführen der Anwendung mit der Symfony-Konsole]] == Schritt 5 - Ausführen der Anwendung mit der Symfony-Konsole
Der integrierte Webserver, der mit PHP (seit PHP 5.4) geliefert wird, eignet sich zum Ausführen von PHP-Anwendungen während der Entwicklung, zum Testen oder für Demonstrationen. Dies ermöglicht ein reibungsloseres Arbeiten, da Sie keinen voll ausgestatteten Webserver wie Apache oder Nginx konfigurieren müssen.
Symfony enthält einen Konsolenbefehl, der das Starten / Stoppen des in PHP integrierten Webservers erleichtert und es Ihnen (seit Symfony 2.6) ermöglicht, den Webserver im Hintergrund auszuführen.
Die Symfony-Konsole ist ein CLI-Skript mit mehreren Befehlen, mit denen Sie Ihre Anwendung erstellen und testen können. Sie können sogarinclude your own commandsin PHP schreiben!
Der Webserver kann jederzeit mit dem Konsolenbefehlserver:run
gestartet werden. Die vom Symfony-Befehl verwendeten Standardeinstellungen akzeptieren jedoch nur Verbindungen zulocalhost
an Port8000
. Wenn Sie dieses Lernprogramm auf einem externen Entwicklungs- / Testserver oder einer lokalen virtuellen Maschine ausführen, müssen Sie dem Befehl einen zusätzlichen Parameter zuweisen, der den Webserver anweist, eine andere IP-Adresse abzuhören.
Führen Sie den folgenden Befehl im Projektverzeichnis aus, um Verbindungen von internen und externen Netzwerken zuzulassen:
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.
Dadurch wird der in PHP integrierte Webserver gestartet und alle Netzwerkschnittstellen an Port8000
abgehört.
Jetzt sollten Sie auf die Anwendung zugreifen können, wenn Sie Ihren Browser aufhttp://your_server_ip:8000
richten. Sie sollten eine Seite wie diese sehen:
Der Befehl wird im aktiven Terminal so lange ausgeführt, bis Sie seine Ausführung mitCTRL+C
beenden. Um den Webserver im Hintergrund laufen zu lassen, sollten Sie stattdessen den Befehlserver:start
verwenden:
php app/console server:start 0.0.0.0:8000
OutputWeb server listening on http://0.0.0.0:8000
Dadurch wird der Webserver im Hintergrund ausgeführt und Ihre Terminalsitzung bleibt frei, um andere Befehle auszuführen. Um den Server anzuhalten, sollten Sie Folgendes verwenden:
php app/console server:stop 0.0.0.0:8000
OutputStopped the web server listening on http://0.0.0.0:8000
Sie können den Status des Webservers auch folgendermaßen überprüfen:
php app/console server:status 0.0.0.0:8000
Wenn der Server nicht läuft, ist dies die Ausgabe, die Sie erhalten sollten:
OutputNo web server is listening on http://0.0.0.0:8000
Wenn in der angegebenen IP und dem angegebenen Port ein aktiver Server ausgeführt wird, sollte die Ausgabe folgendermaßen aussehen:
OutputWeb server still listening on http://0.0.0.0:8000
Denken Sie daran, dass die Befehleserver:stop
undserver:status
denselbenIPADDRESS:PORT
-Teil enthalten sollten, den Sie beim Initiieren des Servers mitserver:start
verwendet haben.
Fazit
Symfony ist ein Full-Stack-PHP-Framework, mit dem sich Anwendungen jeder Größe erstellen lassen. In diesem Tutorial wurde gezeigt, wie Sie Symfony 2 auf einem neuen Ubuntu 14.04-Server mithilfe des in PHP integrierten Webservers installieren und starten, um die Anwendung auszuführen. Weitere Informationen zum Erstellen von PHP-Anwendungen mit Symfony finden Sie inofficial documentation.