惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
L
LangChain Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
Y
Y Combinator Blog
月光博客
月光博客
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
小众软件
小众软件
H
Help Net Security
Last Week in AI
Last Week in AI
B
Blog RSS Feed
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog

秋码分享

我是如何解决将 c++ 编译成可以在 node.js 中使用的 *.node,中间出现的一大堆问题的(指纹浏览器基石篇) eSIM Plus 爱沙尼亚手机号彻底翻车?“永久有效”悄然变成了一年! 接码平台 SMS-Activate 余额可以转移到新平台使用,截止日期:2026年1月29日 是时候将 hugo-theme-kiwi 主题提交到 themes.gohugo.io 站点上了 Flux2 刚开源就凉了?Z-Image 本地部署狠狠打了个样 声音的未来:Chatterbox —— 用「夸张度旋钮」提升表现力的开源 TTS 向导 还以为那只是换个背景?Qwen-Image-Edit 在 ComfyUI 中能做到更离谱的事 Windows 结合最新版 ComfyUI 部署阿里最新开源的 Qwen-Image 图像大模型 从零样本到跨场景:Seed-VC语音转换技术的革命性突破 大语音模型轻量化革命:MegaTTS3 如何重新定义文本生成语音的技术边界(windows篇) 竞赛级编程大模型OlympicCoder-7B之本地部署(Windows篇) 阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 语音识别之whisper本地部署(实时语音之开篇) 甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 互动式开源AI图像编辑神器,Windows11本地部署 MagicQuill 本地部署Qwen2.5-VL-7B-Instruct多模态视觉大模型(Windows篇) 保持角色一致性的绘本生成AI开源项目之Story-Adapter本地部署Windows篇 本地部署 Stable Diffusion 3.5(最新 ComfyUI记录篇) 谁说Win7安装不了Node.js最新版的呢?都2025年,还不更新系统到Win11 浏览器定制 | Windows11 编译 Chromium 133.0.6885.0(截稿前Chromium最新版之编译篇[一]) 不说是彻底搞懂,至少让你不再惧怕c/c++指针,以及各种奇葩指针变种 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题 在 Windows8.1 下编译 Chromium (103.0.5060.68 之三) 安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二)
vs code远程调试Linux服务器上的php代码
一个游离于山间之上的江湖漫行者。A jungle wanderer who wanders above the mountain · 2024-12-19 · via 秋码分享

前言

不管是测试服务器,还是生产服务器,程序出现了问题,虽然可以根据日志来锁定问题,但从效率上来讲,总是那么不尽如人意。

虽然PHP可以在代码中通过var_dump()dump()来调试输出,但这效率,可真是一言难尽啊。

由于Coder开发都是在本地,一番测试各个功能并没有什么问题,可一旦部署到测试服务器上,再次进行测试时,却出现了诡异的问题,也许这些问题,是你见都没见过的问题。

面对这种困惑,我们能想到的就是,能不能在本地电脑通过工具,远程调试测试服务器上的PHP代码呢?

答案当然是可以的。

VS Code安装 Remote

如果你的电脑还没有安装这款开源免费且开箱即用的IDE,那么你可以先去下载安装它。

VS Code官方下载地址:https://code.visualstudio.com/

作为一位Coder,我想你应该不至于会去国内的什么下载站进行下载李鬼版的VS Code吧,除了官方的,其他的都是盗版,如果你无知到下载了国内付费的VS Code(原先武汉就有一家公司,无耻到把VS Code开源代码套个壳,拿出来卖,什么公司忘了),那你算是给IT界丢人了。

安装 Remote-SSH

在打开的VS Code,在左侧的功能栏里,点击那个田字格的图标,搜索框中输入remote后,点开如下图所示的,点击install,安装这个插件,它就是用来远程连接的。

image-20241212101519354

连接远程服务

ctrl+shift+p打开命令框输入remote ssh,或者点击左下角绿色按钮,这里没能截取全图。

image-20241212103741110

首次是需要建一个配置文件。

image-20241212103825611

image-20241219111018224

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host <给连接的服务器命名>
    HostName <需要连接的服务器IP>
    User <连接服务器的用户>
    ForwardAgent yes

windows7出现的错误(非win7系统可以跳过)

选择远程服务器的系统类型,出现下图的错误,那是因为在windows7系统中没有安装SSH,当然现如今,几乎很少开发者会在windows7进行开发了。

image-20241212180346150

64 位操作系统下载这个:点击下载备用下载) 32 位操作系统下载这个:点击下载备用下载

image-20241212180750941

OpenSSH安装路径添加到环境变量 Path中。

image-20241212181225327

使用 RSA 进行免密登录

生成公钥/密钥对

直接在VS Code中打开terminal,或者cmd打开一个黑窗口,输入以下命令。

image-20241219112600731

将公钥添加到服务器上

把公钥文件id_rsa.pub拷贝到需要登录的服务器上(存储路径可以随意,但是之后加入到另一个文件尾部的时候注意路径地址。)

image-20241219113731191

将公钥id_rsa.pub填充到authorized_keys尾部。

cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
Remote-SSH配置中添加本地秘钥文件路径

我们打开之前的Remote-SSH配置文件,在文件末尾加入以下内容。

IdentityFile <你本地的SSH秘钥文件路径> #这个非必要,通过它可以避免每次连接都要输入密码的麻烦。

最终的Remote-SSH配置文件将会是这般。

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host <给连接的服务器命名>
    HostName <需要连接的服务器IP>
    User <连接服务器的用户>
    ForwardAgent yes
    IdentityFile <你本地的SSH秘钥文件路径> #这个非必要,通过它可以避免每次连接都要输入密码的麻烦。

image-20241212181549572

VS Code 安装 PHP Debug

PHP代码调式总是缺不了XDebug这个扩展。

首先,我们需要先在VS Code IDE中安装PHP Debug这个插件。

image-20241217173817500

注意:是连上了服务器以后,在服务器端的vscode上安装调试的插件,安装的时候文字是install in xxx(服务器在配置中的名字)。

为服务器上的 PHP 安装XDebug扩展

xdebug是用来调试php的扩展库,但是你要调试php就一定要装他,注意xdebug要和php版本兼容,记得改wget的文件名,安装完在自己的php.ini中配置一下,我们用vscode其实是本地调试。 xdebug版本兼容参考https://xdebug.org/docs/compat#versions

如果不知道php.ini在哪可以输这个命令。

由于XDebug对应的Linux系统只提供了源码,需要你自己在服务器进行编译,然而编译XDebug源码不在本文主题的范畴,遂不再这里做过多赘述。

打开php.ini文件,在它末尾加入以下内容。

[xdebug]
zend_extension=/www/server/php/74/lib/php/extensions/no/debug-non-zts-20190902/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=13579
xdebug.remote_log=/tmp/xdebug.log

image-20241217174242333

VS Code配置 XDebug

虽然我们在VS Code上安装了PHP Debug这款插件,也在服务器上安装了用来调式PHPXDebug扩展。

要想XDebug能够正常工作,我们需要配置监听XDebug端口的配置文件。

image-20241217174409206

image-20241217174518083

你以为到这里就大功告成了吗?不,还差那么一丢丢。

那就是需要配置服务器上的PHP解释器。

image-20241217174635982

把图中红色部分修改你服务器上对应的PHP解释器文件全路径即可。

image-20241219172827242