故障排除问题
故障排除问题
建立一个项目也有正确的工具来调试问题。幸运的是,许多不错的助手已经包括的一部分webapp
包中。
发现Symfony调试工具ob娱乐下载
首先,Symfony分析器是一个节省时ob娱乐下载间当你需要找到问题的根源。
如果你看一看主页,您应该看到一个屏幕的底部工具栏:
你可能会注意到的第一件事404年红色的。记住,这个页面是一个占位符,我们还没有定义一个主页。即使默认页面,欢迎你是美丽的,它仍然是一个错误页面。所以正确的HTTP状态码是404,而不是200年。由于web调试工具栏,您的信息。
如果你点击小感叹号,你得到了“真正的”异常消息Symfony的日志分析器的一部分。ob娱乐下载如果你想看到堆栈跟踪,点击左边的“例外”链接菜单。
只要有一个问题你的代码,你会看到一个异常页面如下,给你一切你需要了解的问题,它来自:
花一些时间去探索Symfony分析器通过点击里面的信息。ob娱乐下载
在调试会话日志也很有用。ob娱乐下载Symfony尾巴有方便的命令所有日志(从web服务器、PHP和应用程序):
1
美元ob娱乐下载symfony服务器:日志
让我们做一个小实验。开放公共/ index . php
和打破PHP代码(例如foobar中间的代码添加)。刷新页面在浏览器中,观察日志流:
1 2
12月21日10:04:59 | | PHP调试PHP解析错误:语法错误,出乎意料的“使用”(T_USE)在公共场合/索引。php在第5行路径= " / usr / bin / php7.42“php =“7.42.0”12月21日10:04:59 | |错误服务器得到(500)/ ip =“127.0.0.1”
输出是漂亮的颜色让你的注意力集中在错误。
理解Symfony环境ob娱乐下载
因为Symfoob娱乐下载ny分析器仅仅是有用的在开发过程中,我们要避免它被安装在生产。默认情况下,安装Symfob娱乐下载ony自动只的dev
和测试
环境。
ob娱乐下载Symfony支持的概念环境。默认情况下,它有内置的支持3、但你可以添加多达你喜欢:dev
,刺激
,测试
。所有环境共享相同的代码,但是它们代表不同配置。
例如,调试工具都是启用的dev
环境。在刺激
1、优化应用程序的性能。
切换从一个环境到另一个可以通过改变APP_ENV
环境变量。
当你部署平台。sh、环境(存储在APP_ENV
)是自动切换刺激
。
管理环境的配置
APP_ENV
可以通过设置在终端中使用“真实”环境变量:
1
美元出口APP_ENV = dev
首选的方法是使用真实的环境变量设置值APP_ENV
在生产服务器上。但在开发机器上,要定义许多环境变量可能很麻烦。相反,定义它们.env
文件。
一个明智的.env
文件生成时自动为您创建的项目是:
提示
任何包可以更环境变量添加到这个文件由于Symfony Flex使用的配方。ob娱乐下载
的.env
文件提交到存储库和描述默认的值从生产。通过创建一个您可以覆盖这些值.env.local
文件。这个文件不应该犯下这就是为什么.gitignore
文件已经忽略了它。
从未在这些文件存储机密或敏感的值。我们将看到如何管理秘密在另一个步骤。
配置IDE
在开发环境中,当抛出一个异常,Symfony的页面显示异常消息和堆栈跟踪。ob娱乐下载显示一个文件路径时,添加了一个链接,打开文件在正确的在你最喜欢的IDE。受益于这一特性,您需要配置您的IDE。ob娱乐下载Symfony支持许多ide的;我使用Visual Studio代码为这个项目:
1 2 3 4 5 6 7
- - - a / php . ini+ + + b / php . ini@@ 6 3 + 6 4 @@ max_execution_time = 30会话。在realpath_cache_ttl use_strict_mode = = 3600 zend.detect_unicode =+ xdebug.file_link_format = vscode: / /文件/ % f: % l
文件并不仅限于异常有关。例如,控制器在web调试工具栏变成可点击后配置IDE。
调试生产
调试生产服务器总是复杂的。你没有访问Symfony分析器。ob娱乐下载更详细的日志。但跟踪日志是可能的:
1
美元ob娱乐下载syob直播appmfony云:日志——尾巴
你甚至可以通过SSH连接web容器:
1
美元ob娱乐下载syob直播appmfony云:ssh
别担心,你不能轻易破坏任何东西。大多数文件系统是只读的。你不能做生产的热修复。但是以后你将学习更好的方式在书中。
要进一步
- ob娱乐下载SymfonyCasts环境和配置文件教程;
- ob娱乐下载SymfonyCasts环境变量教程;
- ob娱乐下载SymfonyCasts Web调试工具栏和分析器教程;
- 管理多个.env文件在Syob娱乐下载mfony应用程序中。