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

推荐订阅源

IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
ThreatConnect
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
H
Help Net Security
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
A
Arctic Wolf
G
Google Developers Blog
量子位
U
Unit 42
I
InfoQ
V
V2EX
F
Fox-IT International blog
P
Privacy & Cybersecurity Law Blog
V
Visual Studio Blog
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
The Hacker News
The Hacker News
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
C
Cisco Blogs
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
Recorded Future
Recorded Future
T
Tenable Blog
W
WeLiveSecurity
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
T
The Blog of Author Tim Ferriss
www.infosecurity-magazine.com
www.infosecurity-magazine.com
D
Docker
C
Cybersecurity and Infrastructure Security Agency CISA
PCI Perspectives
PCI Perspectives

文章列表

我是如何解决将 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 之二) Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) 为什么网站加载速度总是那么不尽如人意呢?(网站优化篇) 海外云服务器安装 Redis 6.2.x (Ubuntu 18.04 记录篇三) 海外云服务器安装 MariaDB 10.6.X (Ubuntu 18.04 记录篇二) 海外云服务器安装 JDK8 (Ubuntu 18.04 记录篇) 虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇) 怎样快速搭建 Linux 虚拟机呢?(vagrant 篇) 个人站点迁移之gitlab.com pages 绑定自定义域名 不要你掏腰包,就能搭建个人网站之 gitlab.com Pages 托管服务 国内 gitee.com Pages 下线了,致使众多站长纷纷改用其他托管平台 canvas绘制文本时,该如何处理首行缩进、自动换行、多内容以省略号结束、竖排的呢? 其实,低成本甚至免费的,也是可以搭建个人网站的哦! 腾讯云COS托管静态网站,以及如何解决访问出现了下载网页的情况 错误分析 (Machine Learning 研习十九) 多类别分类器(Machine Learning 研习十八) 使用CSS计数器,在目录名称前加上了序号,让目录看起来更加井然有序 使用 golang 以及 Gin 框架,将上传的图片在不保存至本地的情况下添加水印,并上传至阿里云 OSS 绘制特征曲线-ROC(Machine Learning 研习十七) 网站引入 Prism,使得代码高亮显示,并一键复制代码块 精确率(召回率)的权衡(Machine Learning 研习十六) 对模型性能进行评估(Machine Learning 研习十五) 图像识别之入门案例之数字识别(Machine Learning 研习十四) 微调模型——续(Machine Learning 研习之十三) 微调模型(Machine Learning 研习之十二) 解决 github.com port 443: Timed out 的问题 选择和训练模型(Machine Learning 研习之十一) 回望这风雨飘摇的一年过后,我们终将要整束行囊继续前行 一套由 Hugo 驱动的博客主题 hugo-theme-kiwi 开源啦 机器学习中的 Transformation Pipelines(Machine Learning 研习之十) 特征缩放和转换以及自定义Transformers(Machine Learning 研习之九) 为机器学习算法准备数据(Machine Learning 研习之八) 端到端的机器学习项目之探索数据(Machine Learning 研习之七) 端到端的机器学习项目(Machine Learning 研习之六) 机机器学习的测试和验证(Machine Learning 研习之五) 机器学习的主要挑战和任务(Machine Learning 研习之四) 对于大量数据集的解决方案便是在线学习或是增量学习(Machine Learning 研习之三) 现实生活中机器学习的具体示例(Machine Learning 研习之二) 让机器学习不再是过门不入,带您一起详解机器学习(机器学习 Machine Learning 研习之一) 把握住golang中的template,方能驾驭得了Hugo主题的template 云服务器到期,站点迁移,Nginx配置SSL以备后续只需! 玩以太坊链上项目的必备技能(内联汇编 [inline assembly]-Solidity之旅十八) 玩以太坊链上项目的必备技能(库 [library]-Solidity之旅十七) 玩以太坊链上项目的必备技能(Constant 和 Immutable 状态变量-Solidity之旅十六) 玩以太坊链上项目的必备技能(修改器 [modifier]-Solidity之旅十五) 玩以太坊链上项目的必备技能(错误处理以及异常-Solidity之旅十四) 玩以太坊链上项目的必备技能(函数及其可见性和状态可变性-Solidity之旅十三) 玩以太坊链上项目的必备技能(事件-Solidity之旅十二) 玩以太坊链上项目的必备技能(OOP-接口-Solidity之旅十一) 玩以太坊链上项目的必备技能(OOP-抽象合约-Solidity之旅十) 玩以太坊链上项目的必备技能(OOP-合约继承-Solidity之旅九) 玩以太坊链上项目的必备技能(流程控制-Solidity之旅八) 玩以太坊链上项目的必备技能(单位以及全局变量-Solidity之旅七) 玩以太坊链上项目的必备技能(基本类型转换以及推断-Solidity之旅六) 玩以太坊链上项目的必备技能(变量作用域-Solidity之旅五) 玩以太坊链上项目的必备技能(类型-映射类型-Solidity之旅四) 玩以太坊链上项目的必备技能(类型-引用类型-Solidity之旅三) 花了不到1块5,玩了下全网最火的ChatGPT 玩以太坊链上项目的必备技能(类型-值类型-Solidity之旅二) 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一) 在构建 Web3 前,需先知道什么是区块链,毕竟 Web3 是基于区块链 Web3 来了,让我们展开双手拥抱它吧! Go 语言中的 Moduels 管理(Let's Go 三十四) Go 语言中的包(Let's Go 三十三) Go 语言中的错误处理(Let's Go 三十二) Go 语言中的带有缓冲 Channel(Let's Go 三十一) Go 语言中的单向 Channel(Let's Go 三十) Go 语言中的 Channel(Let's Go 二十九) Go 语言中的并发编程(Let's Go 二十八) Go 语言中的空接口(Let's Go 二十七) Go 语言中的类型断言(Let's Go 二十六)
vs code远程调试Linux服务器上的php代码
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打开一个黑窗口,输入以下命令。

ssh-keygen -t rsa

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在哪可以输这个命令。

php -i |grep 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