PHP
PHP 支持通过PHP 扩展提供。
- Tree-sitter: https://github.com/tree-sitter/tree-sitter-php
- 语言服务器
选择语言服务器
PHP 扩展提供 phpactor 和 intelephense 两种语言服务器支持。
phpactor 默认启用。
Phpactor
Zed PHP 扩展可以自动安装 phpactor,但需要已安装 php 并在您的路径中可用。
# brew install php # macOS
# sudo apt-get install php # Debian/Ubuntu
# yum install php # CentOS/RHEL
# pacman -S php # Arch Linux
which php
Intelephense
Intelephense 是一款为 PHP 设计的专有语言服务器,采用免费增值模式。某些功能需要购买高级许可证。
要切换到 intelephense,请将以下内容添加到您的 settings.json 中:
{
"languages": {
"PHP": {
"language_servers": ["intelephense", "!phpactor", "..."]
}
}
}
要使用高级功能,您可以将您的licence.txt 文件放置在您的主目录中的 ~/intelephense/licence.txt 路径下。或者,您可以将许可证密钥或包含许可证密钥的文件路径作为 intelephense 语言服务器的初始化选项传入。为此,请将以下内容添加到您的 settings.json 中:
{
"lsp": {
"intelephense": {
"initialization_options": {
"licenceKey": "/path/to/licence.txt"
}
}
}
}
PHPDoc
Zed 支持 PHPDoc 注释的语法高亮。
- Tree-sitter: claytonrcarter/tree-sitter-phpdoc
设置 Xdebug
Zed 的 PHP 扩展为 PHP 和 Xdebug 提供了一个调试适配器。适配器名称为 Xdebug。以下是几种使用方法:
[
{
"label": "PHP: Listen to Xdebug",
"adapter": "Xdebug",
"request": "launch",
"port": 9003
},
{
"label": "PHP: Debug this test",
"adapter": "Xdebug",
"request": "launch",
"program": "vendor/bin/phpunit",
"args": ["--filter", "$ZED_SYMBOL"]
}
]
如果遇到问题
- 确保您正在运行的 PHP 版本已安装 Xdebug
- 确保 Xdebug 配置为在
debug模式下运行 - 确保 Xdebug 确实启动了调试会话
- 检查 Xdebug 和 Zed 之间的主机和端口是否匹配
- 通过在您尝试调试的页面中使用
xdebug_info()函数来查看诊断日志