尝试开发容器: PHP
开发容器是一个运行中的容器,具有明确定义的工具/运行时堆栈及其先决条件。您可以使用**GitHub Codespaces或Visual Studio Code Dev Containers**来尝试开发容器。
这是一个示例项目,让您可以通过几个简单的步骤尝试这两个选项。我们还有其他各种vscode-remote-try-*示例项目。
**注意:**如果您已经有了Codespace或开发容器,可以直接跳到尝试事项部分。
设置开发容器
GitHub Codespaces
按照以下步骤在Codespace中打开此示例:
- 点击Code下拉菜单。
- 点击Codespaces标签。
- 点击在main上创建codespace。
更多信息,请查看GitHub文档。
VS Code Dev Containers
如果您已经安装了VS Code和Docker,可以点击上面的徽章或此处开始。点击这些链接将导致VS Code自动安装Dev Containers扩展(如果需要),将源代码克隆到容器卷中,并启动一个开发容器以供使用。
按照以下步骤使用VS Code Dev Containers扩展在容器中打开此示例:
-
如果这是您第一次使用开发容器,请确保您的系统满足入门步骤中的先决条件(即安装了Docker)。
-
要使用此仓库,您可以选择在隔离的Docker卷中打开仓库:
- 按F1并选择**Dev Containers: 尝试示例...**命令。
- 选择"PHP"示例,等待容器启动,然后尝试各种功能!
**注意:在后台,这将使用Dev Containers: 在容器卷中克隆仓库...**命令将源代码克隆到Docker卷中,而不是本地文件系统。卷是持久化容器数据的首选机制。
或者打开本地克隆的代码副本:
- 将此仓库克隆到您的本地文件系统。
- 按F1并选择**Dev Containers: 在容器中打开文件夹...**命令。
- 选择克隆的文件夹副本,等待容器启动,然后尝试各种功能!
尝试事项
打开此示例后,您可以像在本地一样使用它。
一些可以尝试的事项:
-
编辑:
- 打开
index.php
- 尝试添加一些代码并检查语言功能。
- 故意输入一个拼写错误,注意它会被检测到。Code Spell Checker扩展已自动安装,因为它在
.devcontainer/devcontainer.json
中被引用。 - 还要注意像
Xdebug
和PHP Intelephense扩展这样的工具已安装。这些工具安装在mcr.microsoft.com/devcontainers/php
镜像中,Dev Container设置和元数据会自动从镜像标签中获取。
- 打开
-
**终端:**按ctrl+shift+`,然后在终端窗口中输入
uname
和其他Linux命令。 -
运行和调试:
- 打开
index.php
- 添加一个断点(例如在第4行)。
- 按F5在容器中启动应用。
- 一旦命中断点,尝试悬停在变量上,检查局部变量等。
- 打开
-
运行服务器:
- 在终端中运行
php -S 0.0.0.0:8000
- 点击出现的通知中的"在浏览器中打开",以访问此新端口上的Web应用。
- 您可以在"端口"视图中查看已转发端口的有组织表格,可以使用命令Ports: 聚焦端口视图访问该视图。
- 注意"端口"视图中的8000端口被标记为"Hello Remote World"。在
devcontainer.json
中,您可以设置"portsAttributes"
,例如为转发的端口设置标签和自动转发端口时要采取的操作。
- 查看终端,您应该能看到网站导航的输出。
- 编辑
index.php
中第21行的文本,然后刷新页面,查看更改立即生效。
- 在终端中运行
-
附加调试器到服务器:
- 按照前面的步骤启动PHP服务器并在端口
8000
上打开浏览器 - 按F1并选择查看: 显示调试命令。
- 从下拉菜单中选择"监听XDebug"。
- 按F5附加调试器。
- 如果还没有添加断点,请在
index.php
中添加一个。 - 重新加载浏览器窗口。
- 一旦命中断点,尝试悬停在变量上,检查局部变量等。
- 按照前面的步骤启动PHP服务器并在端口
-
使用Dev Container功能安装Node.js:
- 按F1并选择**Dev Containers: 配置容器功能...或Codespaces: 配置容器功能...**命令。
- 在顶部的文本框中输入"node"。
- 勾选"Node.js (通过nvm)和yarn"(由devcontainers发布)旁边的复选框
- 点击确定
- 按F1并选择Dev Containers: 重建容器或Codespaces: 重建容器命令,以使修改生效。
贡献
本项目欢迎贡献和建议。大多数贡献都要求您同意贡献者许可协议(CLA),声明您有权并确实授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
当您提交拉取请求时,CLA-bot将自动确定您是否需要提供CLA,并适当地修饰PR(例如,标签、评论)。只需按照机器人提供的说明操作即可。您只需在使用我们的CLA的所有仓库中执行一次此操作。
本项目已采用Microsoft开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或 联系opencode@microsoft.com获取任何其他问题或意见。
许可证
版权所有 © Microsoft Corporation 保留所有权利。
根据MIT许可证授权。有关许可信息,请参阅项目根目录中的LICENSE文件。