如何安装和开始使用的Symfony 2在Ubuntu 14.04开始

Symfony的是一个全栈,开源的PHP框架,也以可以很容易地集成到任何其他的PHP项目的独立的组件闻名。 Symfony框架是适合构建任何规模的PHP应用程序,包括控制台应用程序仅在命令行中运行。 在本教程中,我们将看到如何安装,配置和开始使用Ubuntu的14.04一个Symfony的2应用程序。

介绍

Symfony是一个全栈,开源的PHP框架。 它的独立组件众所周知,可以轻松集成到任何其他PHP项目中。 Symfony框架适用于构建任何大小的PHP应用程序,包括仅在命令行上运行的控制台应用程序。

在本教程中,我们将了解如何在Ubuntu 14.04上安装,配置和开始使用Symfony 2应用程序。

这是一个开发的设置,旨在让你熟悉Symfony和你开始写你的第一个symfony项目。 我们将指导您完成一个全新的Symfony项目的设置和安装。

先决条件

对于本教程,您将需要:

第1步 - 安装PHP

在开始之前,我们需要为命令行环境安装PHP。 没有必要安装一个功能齐全的网络服务器,如Apache或Nginx,因为Symfony提供了一个控制台命令,使它运行和管理PHP的内置Web服务器,而你正在开发您的应用程序时微不足道。 这是一个简单而有效的方式来运行应用程序,而它在开发模式。

首先,让我们更新软件包管理器缓存:

sudo apt-get update

现在,为了使用和通过命令行执行PHP脚本,安装php5-cli包。

sudo apt-get install php5-cli

您现在应该在您的服务器上安装了PHP。 要检查是否已成功安装,请运行:

php -v

你应该得到类似这样的输出:

PHP 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

第2步 - 在php.ini中配置date.timezone

Symfony的要求选择date.timezone在您设置php.ini文件(S)。 如果您在新服务器上测试本教程,则此选项尚未定义。 如果是这样,你的Symfony应用程序将无法运行。

我们需要编辑服务器的php.ini文件,以确保我们有定义这个选项。 该文件应位于/etc/php5/cli/php.ini

打开php.ini使用纳米或您喜爱的命令行编辑器文件:

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

搜索包含行date.timezone 通过删除注释指令;在该行的开始签字,并添加适当的时区为您的应用。 在这个例子中,我们将使用Europe/Amsterdam ,但你可以选择任何支持的时区

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

保存文件并退出。

第3步 - 获取Symfony安装程序

创建一个新的Symfony项目的最简单的方法是使用官方的Symfony安装程序。 它是一个简单的脚本创建,以方便新的Symfony应用程序的引导。

以下命令将下载的Symfony安装程序,并将其放置在你/usr/local/bin的路径:

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

现在,您需要使用下一个命令使脚本可执行:

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

要测试Symfony安装程序,运行:

symfony

输出应如下所示:


 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

. . .

第4步 - 创建一个新的Symfony项目

现在我们已经有了Symfony安装程序,我们可以继续并创建一个新的Symfony项目。 因为这是一个开发设置,我们将使用PHP的内置Web服务器,你可以在你的主目录中创建一个项目。 对于这个例子,我们将创建一个名为“myproject”的项目,但是您可以在下一个命令中使用自己的项目名称。

cd ~
symfony new myproject

这将创建一个新的文件夹myproject你的主目录里面,包含一个全新的Symfony应用。 该命令将产生类似于以下的输出:


 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

第5步 - 使用Symfony控制台运行应用程序

内置的PHP服务器(自PHP 5.4开始)适用于在开发,测试或演示期间运行PHP应用程序。 它可以实现更无摩擦的体验,因为您不需要烦恼配置全功能的Web服务器,如Apache或Nginx。

Symfony提供了一个控制台命令,方便了启动/停止PHP的内置Web服务器的过程,也允许(从Symfony 2.6开始)在后台运行Web服务器。

Symfony控制台是一个CLI脚本,它有几个命令来帮助您构建和测试应用程序。 你甚至可以包括你自己的命令用PHP写的!

Web服务器可以随时使用控制台命令来启动server:run 但是,使用的Symfony的命令将只接受连接的默认设置,以localhost端口8000 如果您在外部开发/测试服务器或本地虚拟机上遵循本教程,则需要为命令提供一个额外的参数,告诉Web服务器监听不同的IP地址。

要允许来自内部和外部网络的连接,请在项目目录中运行此命令:

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

Quit the server with CONTROL-C.

这将启动PHP的内置Web服务器,监听所有网络接口上的端口8000

现在,如果您将浏览器指向你应该能够访问应用程序http:// your_server_ip :8000 你应该看到这样的页面:

Symfony应用程序预览

该命令将保持活动的终端运行,直到您终止与执行CTRL+C 为了让在后台运行的Web服务器,你应该使用server:start命令:

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

这将使Web服务器在后台运行,让您的终端会话免费执行其他命令。 要停止服务器,您应该使用:

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

您还可以使用以下方式检查Web服务器的状态:

php app/console server:status 0.0.0.0:8000

当服务器不运行时,这是您应该得到的输出:

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

当有一个活动的服务器在指定的IP和端口运行时,你应该得到这样的输出:

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

只要记住,在server:stopserver:status指令应包括相同IPADDRESS:PORT您启动与服务器时使用部分server:start

结论

Symfony是一个全栈PHP框架,适合构建任何大小的应用程序。 在本教程中,我们看到了如何在一个全新的Ubuntu 14.04服务器上安装并开始使用Symfony 2,使用PHP的内置Web服务器来运行应用程序。 关于如何建立使用Symfony的PHP应用程序的更多信息,看看他们的官方文件