Installation und erste Schritte mit Symfony 2 unter Ubuntu 14.04

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:

[[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/binplatziert:

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 Port8000abgehö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:

Symfony App Preview

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.

Related