如何在 Ubuntu 14.04 上安装并开始使用 Symfony 2

介绍

Symfony 是一个全套的开源 PHP 框架,它以其独立的组件而闻名,可以很容易地集成到任何其他 PHP 项目中。

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

<$>[注] 这是一个开发的设置,旨在让您熟悉Symfony,并让您开始撰写您的第一个Symfony项目。

前提条件

对于这个教程,你将需要:

步骤1:安装PHP

在我们开始之前,我们需要为命令行环境安装PHP,没有必要安装一个全功能的Web服务器,如Apache或Nginx,因为Symfony配有一个控制台命令,使运行和管理PHP的内置Web服务器在开发应用程序时变得微不足道。

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

1sudo apt-get update

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

1sudo apt-get install php5-cli

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

1php -v

你应该得到类似于此的输出:

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

步骤 2 — 在 php.ini 中配置 date.timezone

Symfony 需要在您的php.ini 文件中设置 date.timezone 选项. 如果您在新服务器上测试本教程,此选项尚未定义。

我们需要编辑服务器的php.ini文件,以确保我们有这个选项定义。

使用 nano 或您最喜欢的命令行编辑器打开 php.ini 文件:

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

搜索包含 date.timezone 的行. 通过在行开始时删除 ; 标志来消除指令,并为您的应用程序添加适当的时区。

1[label Modified php.ini]
2[Date]
3; Defines the default timezone used by the date functions
4; http://php.net/date.timezone
5date.timezone = Europe/Amsterdam

保存文件和退出。

步骤 3 – 获取 Symfony 安装程序

创建新的Symfony项目最简单的方法是使用官方Symfony安装程序,这是一个简单的脚本,旨在促进新的Symfony应用程序的启动。

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

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

现在,您需要使用以下命令来执行脚本:

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

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

1symfony

输出应该是这样的:

 1[secondary_label Output]
 2
 3 Symfony Installer (1.1.7)
 4 =========================
 5
 6 This is the official installer to start new projects based on the
 7 Symfony full-stack framework.
 8
 9 To create a new project called blog in the current directory using
10 the latest stable version of Symfony, execute the following command:
11
12   symfony new blog
13
14. . .

步骤 4 – 创建一个新的交响乐项目

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

1cd ~
2symfony new myproject

这将创建一个新的文件夹myproject在您的主目录中,包含一个全新的Symfony应用程序。

 1[secondary_label Output]
 2
 3 Downloading Symfony...
 4
 5 Preparing project...
 6
 7   Symfony 2.7.3 was successfully installed. Now you can:
 8
 9    * Change your current directory to /home/sammy/myproject
10
11    * Configure your application in app/config/parameters.yml file.
12
13    * Run your application:
14        1. Execute the php app/console server:run command.
15        2. Browse to the http://localhost:8000 URL.
16
17    * Read the documentation at http://symfony.com/doc

步骤 5 – 使用 Symfony Console 运行应用程序

配备PHP的内置Web服务器(自PHP 5.4 以来)适用于在开发过程中运行PHP应用程序,用于测试或演示,它允许更无摩擦的体验,因为您不必打扰配置像Apache或Nginx这样的全功能Web服务器。

Symfony 配备了一个控制台命令,可方便启动/停止 PHP 的内置 Web 服务器,还允许您(自 Symfony 2.6 以来)在背景中运行 Web 服务器。

Symfony 控制台是一个 CLI 脚本,它有几个命令来帮助您构建和测试您的应用程序. 您甚至可以(包括自己的命令)(http://symfony.com/doc/current/cookbook/console/console_command.html)用 PHP 编写!

但是,Symfony命令使用的默认设置只会接受在端口8000上的localhost连接. 如果您在外部开发 / 测试服务器或本地虚拟机上遵循本教程,则需要为命令提供额外的参数,告诉Web服务器听取不同的IP地址。

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

1php app/console server:run 0.0.0.0:8000
1[secondary_label Output]
2Server running on http://0.0.0.0:8000
3
4Quit the server with CONTROL-C.

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

现在你应该能够访问该应用程序,如果你将你的浏览器指向http://your_server_ip:8000

Symfony App Preview

该命令将继续在活跃的终端中运行,直到您用CTRL+C结束执行。

1php app/console server:start 0.0.0.0:8000
1[secondary_label Output]
2Web server listening on http://0.0.0.0:8000

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

1php app/console server:stop 0.0.0.0:8000
1[secondary_label Output]
2Stopped the web server listening on http://0.0.0.0:8000

您也可以通过以下方式检查 Web 服务器的状态:

1php app/console server:status 0.0.0.0:8000

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

1[secondary_label Output]
2No web server is listening on http://0.0.0.0:8000

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

1[secondary_label Output]
2Web server still listening on http://0.0.0.0:8000

请记住,服务器:停止服务器:状态的命令应该包含您在启动服务器时使用的IPADDRESS:PORT部分。

结论

Symfony 是一个全套的 PHP 框架,适用于构建任何尺寸的应用程序. 在本教程中,我们看到如何安装并开始使用 Symfony 2 在新的 Ubuntu 14.04 服务器上使用 PHP 内置的 Web 服务器来运行该应用程序。

Published At
Categories with 技术
comments powered by Disqus