我可以从PhpStorm运行Symfony Web服务器吗? 我知道我可以从命令行运行它:
private void createPdf() throws IOException {
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(new PDPage());
PDPageContentStream content = new PDPageContentStream(doc, page);
content.beginText();
content.setFont(PDType1Font.HELVETICA, 26);
content.showText("Example Text");
content.endText();
content.close();
doc.save("report.pdf");
doc.close();
}
我只是想知道是否有任何方法可以配置PhpStorm为我做这件事。
答案 0 :(得分:11)
Run -> Edit Configurations
+
(添加)PHP Script
Symfony Web-Server
bin/console
的路径
例如:/path/to/symfony/bin/console
Activate Tool Window
以防止它在启动时弹出server:run
这将为您提供Run Symfony Web-Server
和Debug Symfony Web-Server
选项供您选择。要调试正在运行的服务器,必须告诉PHPStorm在运行服务器脚本之前侦听调试连接。要在Settings -> Languages & Frameworks -> PHP -> Servers
中配置调试,请确保已创建127.0.0.1:8000
,禁用Path Mapping
并将Xdebug设置为调试器。 (可选)在Debug -> XDebug
设置的第一行禁用停止。
现在,您可以通过在“运行配置”下拉列表中选择服务器并单击“播放”按钮来启动服务器。请务必先告诉PHPStorm侦听调试连接。
或点击Run -> Symfony Web-Server
。
添加断点,然后将浏览器启动到受断点影响的路由,PHPStorm应捕获调试会话并根据需要中断。
如果首先调试失败,请关闭所有正在运行的PHPStorm服务,然后尝试运行Debug Symfony Web-Server
(确保PHPStorm正在侦听调试连接),然后重新启动浏览器。
由于某些原因,Xdebug可能不会初始化,但这种行为是零星的,难以一致地重现。在初始化之后,您可以在启用侦听时运行非调试Web服务器,并且它似乎工作正常。
特别说明,运行
Debug Symfony Web-Server
只会监控 bin / console脚本。这是因为Symfony服务器的php进程 是分叉的,调试会话将继续监视父级 处理。因此,您必须告诉PHPStorm监听调试连接 调试Web服务器时。
答案 1 :(得分:1)
要在Windows上设置Symfony CLI,可以使用Bash模板:
Run -> Edit Configurations
+
(添加)Bash
Symfony server
serve
C:\Windows\System32\cmd.exe
/k "symfony"
--no-tls
单击“确定”保存并关闭对话框
Edit Configurations dialog box
现在您可以从顶部面板启动和停止Symfony服务器: