首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Ubuntu 14.04上将Symfony应用程序部署到生产环境

本教程将介绍Ubuntu 14.04服务器上手动部署基本Symfony应用程序所需的步骤。我们将了解如何正确配置服务器,考虑安全性性能指标,以便完成准备生产的设置。...sudo apt-get update 我们需要git检查应用程序文件,安装应用程序时用acl设置正确的目录权限,以及两个PHP扩展(命令行输入php5-cli运行PHPphp5-curl运行Symfony...这对于开发应用程序很有用,但对于生产环境来说这不是一个好习惯。 为了调整生产应用程序,我们需要定义一个环境变量,告诉Symfony我们在生产环境运行应用程序。...结论 将任何应用程序部署到生产环境需要特别注意细节,例如创建具有有限访问权限的专用数据库用户以及应用程序文件夹上设置正确的目录权限。这些步骤对于提高生产环境的服务器应用程序安全性是必需的。...本教程,我们看到了Ubuntu 14.04服务器上手动部署基本Symfony应用程序到生产时应采取的具体步骤。 想要了解更多关于Linux的开源信息教程,请前往腾讯云+社区学习更多知识。

12.7K20

Symfony2Redis正名,基于PHP的10亿请求周网站打造

【编者按】如果你还在Symfony2Redis使用存在这样的错误观念:不能使用Redis作为主要存储;Symfony2的功能很多,以至于它的运行很慢,那么不妨看向Octivi的高请求网站打造。...我们还没有发现这么设置会有什么性能问题。 与Redis设置不同,MySQL运行在主配置上,除高可用性外,这还提供了更好的写性能(Redis这不是什么问题,因为我们不会耗尽性能特性。) ?...使用这种方式时我们需要在单行日志信息添加冗余额外的内容。 我们也很多地方使用Stopwatch组件以控制一些典型的应用方法。通过这种方式我们可以发现客制化逻辑一些大块的弱点。...我们使用Doctrine DBAL代替,Doctrine DBAL特征如下: 查询生成器 预处理语句 使用PredisBundleDoctrine Bundle也允许我们大量使用分析工具的时候监控弱查询...总结 多亏Symfony2,这种设置保持高性能高可用性的同时保持了友善的开发环境——可维持,稳定。实际上这是用作电商网站的关键子系统的关键业务需求。

4.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

撸个 symfony4(一)

这是[官方文档](https://symfony.com) Before Start 注意: symfony 严格遵循标准的版本命名 API无法向下兼容 大版本号+1 准备工作 使用web server...我们便可以通过下面的命令开启一个 Web server 监听 localhost:8000 上(注:此命令只能运行在 PHP 5.5 版本之上,并且 Windows 可能只能运行 server:run...,两者的区别你们自己试试就知道),这样开发阶段就可以不用安装配置 Apache 或者 NGINX 也可以访问本地开发环境了,非常方便. app/console server:run or php app...如果你和我一样用symfony安装新的项目,使用上面的命令启动,可能会遇到如下的错误: ? 这是可以看看symfony的list: ? 这里需要一个TLS。也可以选项中注释掉。 ?...可以使用 Symfony 框架自带的脚本工具,来确认当前的环境是否已经足够顺利运行 Symfony: $ php app/check.php # Symfony 3.0+ 下 $ php bin/symfony_requirements

42210

你必须知道的 17 个 Composer 最佳实践(已更新至 22 个)

需要运行在应用或者库的包都应该被定义 require (例如: Symfony, Doctrine, Twig, Guzzle, ...)。...Tip 15: composer.json 中指明生产环境的PHP版本号 如果你和我一样,有时还 本地环境跑PHP最新预释版本, 那么就会处于升级依赖项的版本不能运行生产环境的风险。...现在我就在使用 PHP 7.2.0 ,也就意味着我安装的库可能在 7.1 版本运行不了。如果生产环境跑的是 7.1 版本,安装就会失败。...查看 [the result for symfony/symfony:^3.1 Tip 20: 在生产环境使用使用权威类映射文件 应该在生产环境 生成权威类映射文件 。...可以在生产环境构建时运行以下命令: composer dump-autoload --classmap-authoritative Tip 21: 为测试配置 autoload-dev 你也不想在生产环境中加载测试文件

7.3K20

如何在Ubuntu 18.04上使用LEMP将Symfony 4应用程序部署到生产

本教程,您将在Ubuntu 18.04上使用LEMP堆栈(Nginx,MySQLPHP)将现有的标准Symfony 4应用程序部署到生产中,这将帮助您开始配置服务器框架的结构。...默认情况下,Symfony应用程序以开发模式运行,为调试目的提供非常详细的日志。这不适用于您在本教程中所做的事情,而不适用于生产环境,因为它可以减慢速度并创建非常大的日志文件。...Symfony需要知道您在生产环境运行应用程序。您可以通过创建.env包含变量声明的文件或直接创建环境变量来设置它。由于您还可以使用该.env文件为此应用程序配置数据库凭据,因此您更有意义。...=0 APP_ENV是一个环境变量,指定应用程序正在生产中,而APP_DEBUG环境变量指定应用程序是否应在调试模式下运行。...部署典型Symfony应用程序的步骤各不相同,具体取决于应用程序的设置,复杂性要求。 本教程,您在运行LEMP的Ubuntu 18.04服务器上手动将Symfony 4应用程序部署到生产环境

4.8K113

PHP之内置web服务器

不能用于线上环境。现在我就介绍一下这个工具如何使用。...比如 Laravel Symfony。 Laravel Laravel的安装一节中介绍了一个命令可以使用PHP内置web服务器实现外部访问的命令。...Symfony 如果你使用 Symfony 框架话,发现Symfony有一个组件叫做web-server-bundle,这个组件的作用跟Laravel相同,也是不借助web服务器,实现通过浏览器访问应用程序...里面有一个问题就是使用pcntl_fork, 该扩展Windows是不受支持的. 所以 Symfony框架会提示使用php bin/console server:run命令运行程序....总结 通过我们学习 PHP 命令实现web服务器访问以及对 Laravel Symfony 框架的分析, 让我了解到Windows的开发过程,我们完全可以借助该方式来摆脱对web服务器的依赖.既能方便我们

3.1K10

你真的了解php吗?

性状是类的部分实现,可以混入一个或多个现有PHP类。类似Ruby的组合模块活混入(mixin)。 为什么使用性状 举个具体的例子,比如有两个类,Car Phone,他们都需要GPS功能。...为了解决这个问题,第一反应创建一个父类,然后让CarPhone继承它。但因为很明显,这个祖先不属于各自的继承层次结构。...第三反应创建实现GPS功能的性状(trait),然后CarPhone类混入这个性状。能实现功能,不影响继承结构,不重复实现,完美。 创建与使用性状 创建trait <?...这种的处理存在的问题是:当文件特别大,一次读取就占用很多内存资源。而生成器最适合这种场景,因为这样占用的系统内存量极少。 5. 闭包 理论上,闭包匿名函数是不同的概念。...不过,这个内置的服务器功能并不完善,不应该在生产环境使用,但对本地开发来说是个便利的工具,可以用于快速预览一些框架应用。

1.9K50

PHP之内置web服务器

不能用于线上环境。现在我就介绍一下这个工具如何使用。...比如 Laravel Symfony。 Laravel Laravel的安装一节中介绍了一个命令可以使用PHP内置web服务器实现外部访问的命令。...Symfony 如果你使用 Symfony 框架话,发现Symfony有一个组件叫做web-server-bundle,这个组件的作用跟Laravel相同,也是不借助web服务器,实现通过浏览器访问应用程序...里面有一个问题就是使用pcntl_fork, 该扩展Windows是不受支持的. 所以 Symfony框架会提示使用php bin/console server:run命令运行程序....总结 通过我们学习 PHP 命令实现web服务器访问以及对 Laravel Symfony 框架的分析, 让我了解到Windows的开发过程,我们完全可以借助该方式来摆脱对web服务器的依赖.既能方便我们

3.7K30

Nginx泛解析到子目录,自动判断有无public目录

配置本地 PHP 开发环境时,除非是 Windows 下,否则我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已经有了自带的 Apache+PHP 环境,依然如此。...一方面是因为 Mac 自带的 PHP 版本不够新(5.6.x),另一方面,Nginx + PHP-FPM 更接近于我的生产服务器环境,而且也方便用 Homebrew 来管理版本扩展。... Mac 下开发 Laravel, 官方提供了 valet, 可以方便地把子目录映射为虚拟主机,但我使用的时候,遇到一些问题: 真实错误信息难以追踪,总是报 valet 的 index.php 或者...if 语句实现,比如要支持 symfony 的话,复制一下 if 判断块,把 public 改成 web 即可。...我虽然只是用于 mac/linux, 但实际上 Windows 下当然也是可以的,如果你 Windows 下也使用 Nginx 的话。

2.7K40

十大最主流的PHP框架

使用简单的协议与模型及数据库通信 你的Akelos应用可以大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。...因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。 6、Symfony Symfony是一个用于开发PHP5项目的web应用框架。...从诞生到现在的5年间,已经不少产品开发中被使用。Zoop是一个快速,有效并干净的框架。它的伸缩性很好,你可以只安装你需要的功能。...Zoop内置的纠错功能可以通过配置实现生产环境下的错误日志生成,这个错误日志提供了很多信息,可读性很高,可以更轻易的寻找并排除错误。...Zoop的一个特别之处在于其GuiControls,PHP是一个相当革新的想法。

3.5K30

modern php 笔记(第一次阅读)

: Aura Laravel Symfony Yii Zend 查找组件 Packagist(https://packagist.org)查找现代php组件 Awesome PHP (https:...: 一定要让php报告错误 开发环境要显示错误 在生产环境不能显示错误 开发环境生产环境中都要记录错误 whoopse组件 开发环境显示错误异常 monolog 组件 在生产环境 记录日志...调优 内存 php.ini 文件的memory_limit选项设定单个php进程可以使用的系统内存最大值 可以使用Apache Bench 或 Seige 工具类似生产环境的条件下对php应用做压力测试...分析器 Xdebug 只开发环境使用 需要借助KCacheGrind WinCacheGrind 显示分析的结果 XHProf 可以开发生产环境使用 需要借助XHGUI显示分析结果 New...Relic 适合在开发环境使用 Blackfire HHVMHack 使用Supervisord 监控 HHVM HHVM运行的FastCGI服务器的作用php-fpm的完全一样 HHVM 、

1.3K20

windows下安装pear及phpunit

windows下安装pear及phpunit(注意配置好php命令行环境) 安装环境   安装PEAR之前需要配置安装PHP环境,如果没有自带PEAR   (直接访问http://go-pear.org...2、确认好PEARWindows下的安装目录结构,回车,开始下载安装PEAR的默认扩展包,你也可以选择是否同时安装Pear_Frontend_Web-beta,Pear_Frontend_Gtk2....3、PEAR默认扩展包安装后,提示是否需要配置php.ini文件的include_path选项指向pear的安装目录,当然需要配置,否则无法使用,Y并回车,安装包会自动修改include_path选项...PEAR的其他安装方法   如果PHP运行环境自带PEAR,则可以PHP目录下找到PEAR.DAT文件,双击这个文件即可进行PEAR安装,方式应该类似上述安装方式。...同时注意修改PHP.INI的include_path选项即可。 PEAR命令   命令行方式下,运用PEAR的相关命令可以安装自己需要的PEAR安装包。

96420

composer更新单个库,不编辑composer.json的情况下安装库,composer优化自动加载

其介绍基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。1....然后Composer就会警告你哈希值composer.lock记载的不同。那么我们该怎么办呢?update命令可以更新lock文件,但是如果仅仅增加了一些描述,应该是不打算更新任何库。...init命令有--require选项,可以自动编写composer.json:(注意我们使用-n,这样就不用回答问题)composer init --require=foo/bar:1.0.0 -ncat...为了强制使用压缩包,而不是克隆源代码,你可以使用installupdate的--prefer-dist选项。...为生产环境作准备最后提醒一下,部署代码到生产环境的时候,别忘了优化一下自动加载:composer dump-autoload --optimize安装包的时候可以同样使用--optimize-autoloader

61040

使用HAProxy、PHP、RedisMySQL支撑10亿请求每周架构细节

这样一来我们可以保持服务的足够简单,处理扩展代码相关问题时都具有巨大的优势,可谓各司其职,完美无缺。...带来的好处: 独立子系统(服务)可以便捷的不同团队开发,开发者互不干涉,效率理所当然提升。 身份验证和会话不会通过它们来管理,因此它们造成的扩展问题不翼而飞。...因此,你可以清晰地了解ErrorCritical信息。而在开发/测试环境,Debug信息同样被记录。同时,日志被存储不同的文件,也就是Monolog库下的“channels”。...我们避免使用哈希分片,而是选择基于记录类型分片。这种情况下,我们仍然可以运行MGET,它始终一种类型键上执行。 MySQL上,结构化的表格非常易于向另一台服务器上迁移——同样基于记录类型(表格)。...如果log-lines没有足够的信息,快速Debug问题定位将成为难点。如此一来,你不得不等待一个又一个问题发生,直到找到根结所在。 架构中使用复杂的框架并不意味着低性能。

2.8K60

基于Docker的PHP开发环境

容器技术、Docker更多类Docker技术出现后,解决这个问题就变得简单了。 免责声明 由于boot2docker的工作方式,本文所述的方法在你的环境可能无法正常运行。...怎样才算是好的开发环境 首先,我们得知道什么才是好的开发环境, 对于我而言,一个好的开发环境需要具备以下几个特点: 可随意使用。我必须可以随意删除创建新的环境。 快速启动。...我们这次使用Nginx、PHP5-FPM、MySQL来运行Synmfony项目。由于容器运行命令行会更复杂,所以这方面的内容我会放到下一篇博客再说。.../$INIT fi 脚本先等待MySQL启动,然后根据环境变量DB_NAME创建DB,默认为symfony, 然后INIT环境变量查找要运行的脚本,并尝试运行它。...基本上你可以通过 docker run的-e选项容器设置环境变量,启动脚本会拿到环境变量,因此,如果你的DB名为some_project_dev, 你就可以这么运行容器: $ docker run

3.3K90

【PHP】Largon 快速部署 Laravel 项目

服务的平台Memcached:老牌缓存系统MySQL:最流行的开源数据库系统Nginx:高性能Web服务器Ngrok:安全的内网穿透利器(外网访问内网站点)Node.js:能够服务器端运行JavaScript...的开放源代码、跨平台JavaScript 运行环境Notepad++:支持各种编程语言的文本编辑器PHP:包含最新稳定版本的PHPPuTTY:一个免费小巧的SSH客户端Redis:可以持久化的键值对存储系统...Kernel 类是 Illuminate\Contracts\Http\Kernel的包,我们可以通过var_dump或者下面的方式打印出实例化之后的内部对象属性,当然也可以阅读文章末尾一些不使用IDE...Composer镜像仓库问题,国内的镜像目前普遍是存在问题的,所以我们需要把镜像切换回国外(PHP国内现在确实一潭死水)。...之后问题迎刃而解:composer config -g repo.packagist composer https://packagist.org然后继续使用这个命令:composer create-project

3.1K20

Laravel源码解析之ENV配置

Laravel启动时会加载项目中的 .env文件。对于应用程序运行环境来说,不同的环境有不同的配置通常是很有用的。...例如,你可能希望本地使用测试的 Mysql数据库而在上线后希望项目能够自动切换到生产 Mysql数据库。本文将会详细介绍 env 文件的使用与源码的分析。...Env文件的使用环境env的设置 项目中 env文件的数量往往是跟项目的环境数量相同,假如一个项目有开发、测试、生产三套环境那么项目中应该有三个 .env.dev、 .env.test、 .env.prod...具体有三种方法,可以按照使用习惯来选择使用: 环境的 nginx配置文件里设置 APP_ENV环境变量 fastcgi_param APP_ENV dev; 设置服务器上运行PHP的用户的环境变量...我们看到了加载配置读取配置的时候,使用了 putenv getenv两个函数。 putenv设置的环境变量只在请求期间存活,请求结束后会恢复环境之前的设置。

2K20

那些年,我追过的语言

那时LAMP开始成为时髦词汇,WAMP/Apache Friends为还在使用windows的人们上提供全套互联网开发环境。...)pyexpect(expect的python封装)连上测试环境的路由器加载编好的image,然后调用测试团队提供的自动测试脚本测试。...那段时间,C让我糊口,php让我保持web的连接,而python,一直是我做各种小工具的最爱。 期间玩过drupal,symfony。...symfony对我而言是个很好的布道师,它让我认识了Ruby on Railsdjango(源自symfony二者的对比)。...毕竟,之前symfony2已经狠狠地摆了我一道 —— 我1.x上写的代码2里无法运行,而且2的改动之大让我一时间无法适应。如果现在入手学习RoR2.x,会不会重蹈覆辙?

2K50
领券