PHP 编程先锋营
文章平均质量分 68
这里是 PHP 技术爱好者的聚集地,专注 PHP 全栈开发。从基础语法、函数运用,到面向对象编程、框架实操,再到数据库交互、性能优化,都有深入浅出的讲解。不管你是初涉 PHP 的新手,还是想提升技术的开发者,都能在此获取前沿知识,掌握实战技巧,用代码开拓 PHP 的无限可能 。
tekin
20年以上经验的资深全栈软件开发工程师。自我驱动力强,热爱钻研新技术,解决疑难问题。能快速吃透行业业务,转化为技术方案并落地。常研读英文资料与开源项目,对算法、数据结构理解深刻。
工作中,逻辑思维清晰,能独立解决难题,精准评估项目风险与时间,高效协调团队完成产品上线。对技术趋势感知敏锐,为公司技术发展建言献策。抗压、协作与管理能力出色。
技术上,后端精通 Go、Java、PHP、Python,熟练使用 MySQL;前端熟练掌握 JS、VUE 等语言和第三方框架,在系统运维、安全及大数据领域也有一定知识储备。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
正则表达式中 中文匹配正则 \p{Han} 与 \x{4e00}-\x{9fa5} 的区别?
正则表达式中,\p{Han}和\x{4e00}-\x{9fa5}都可用于匹配汉字,但存在差异: 覆盖范围:\x{4e00}-\x{9fa5}仅匹配基本汉字(约20902个),而\p{Han}包含扩展区生僻字、古汉字等。 兼容性:\x{4e00}-\x{9fa5}广泛兼容各种正则引擎,\p{Han}需支持Unicode属性(如PHP需u修饰符)。 使用场景:常用汉字优先选\x{4e00}-\x{9fa5};处理生僻字且环境支持时用\p{Han}。 示例显示\p{Han}能匹配扩展汉字(如“𠀤”),而\x{4原创 2025-11-09 17:57:33 · 470 阅读 · 0 评论 -
PHP5.6 常用扩展安装清单(MacPorts 版)
摘要:本文整理了老旧PHP项目开发中常用的扩展分类及MacPorts安装命令,涵盖数据库(MySQL/PostgreSQL/MongoDB)、缓存(Redis/Memcached/APCu)、网络通信(cURL/sockets/soap)、图形处理(GD/Imagick)、文本处理(mbstring/iconv/tidy)、系统工具(pcntl/posix)、压缩解压(zip/lzf)和安全相关(openssl/mcrypt)等20余个扩展。每个扩展附带简要功能说明和sudo port install安装命原创 2025-11-05 08:47:42 · 421 阅读 · 0 评论 -
macOS 下 PHP5.6 + Xdebug2 + VSCode 调试环境完整配置指南
本文详细介绍了在 macOS 上配置 PHP5.6 + Xdebug2 + VSCode 调试环境的完整流程。首先通过 MacPorts 安装 PHP5.6 和 Xdebug2 扩展,提供两种获取 Xdebug.so 的方式。然后配置 xdebug.ini 文件,设置远程调试、IDE 通信等参数。最后在 VSCode 中安装 PHP Debug 插件并配置 launch.json,支持三种调试场景:监听远程调试、调试单个脚本以及启动内置服务器调试。该指南帮助开发者快速搭建适用于老旧 PHP 项目的调试环境,原创 2025-11-05 08:32:10 · 956 阅读 · 0 评论 -
深入浅出PHP内置服务器:自定义路由与VS Code调试全攻略
本文深入解析PHP内置服务器的自定义路由与VS Code调试配置。通过自定义Router.php解决静态资源加载、URL重写等问题,实现生产环境级的请求处理能力。文章详细讲解路径定义、URI解析、静态资源处理、URL重写规则等核心模块,并强调安全规范和最佳实践。最后介绍单一入口模式的优势,通过VS Code调试配置提升开发效率,帮助开发者构建更健壮的PHP应用。原创 2025-09-12 08:00:00 · 829 阅读 · 0 评论 -
vscode + PHP内置服务器实现URL重写:从环境配置到复杂框架适配(附实战案例)
在PHP开发中,URL重写是实现友好访问路径的核心手段(如将`/bazijp.html`映射为`/?ac=bazijp`),通常依赖Nginx/Apache的`rewrite`指令。但本地开发时,PHP内置服务器(`php -S`)更轻量高效,仅需通过自定义路由脚本即可实现等效重写功能。本文将从基础原理、环境配置、静态资源兼容、复杂规则适配(如ThinkPHP,laravel项目)等维度,结合实际项目的重写需求,提供一套可直接复用的解决方案,兼容PHP 5.6+主流版本。原创 2025-09-11 21:07:33 · 996 阅读 · 0 评论 -
Xdebug 3 全配置项深度解析:从配置到实战的PHP调试指南
Xdebug 3 配置解析与调试指南 本文全面解析Xdebug 3的核心配置项,帮助PHP开发者快速掌握新版调试工具的使用。主要内容包括: Xdebug 3核心变化:简化配置项命名体系,默认端口改为9003,采用xdebug.mode统一控制功能开关 四大配置模块详解: 核心连接配置:IDE通信设置(客户端IP/端口/超时等) 调试追踪配置:通过xdebug.mode控制调试/追踪/性能分析功能 数据展示配置:优化错误信息和变量显示格式 旧版兼容配置:平滑过渡方案 实战建议:针对不同开发场景提供配置优化建议原创 2025-09-10 12:07:04 · 1089 阅读 · 0 评论 -
在macOS 10.15上解决PHP5.6 Xdebug编译失败问题及VSCode调试配置
本文介绍了在macOS 10.15上解决PHP5.6 Xdebug编译失败问题的方案。通过从XAMPP中提取预编译的xdebug.so文件,并将其配置到MacPorts安装的PHP5.6环境中,成功避开了Xcode版本兼容性问题。文章详细说明了从安装XAMPP、提取xdebug.so、配置PHP扩展目录到设置VSCode调试环境的完整流程,包括关键配置参数和验证方法。该方案不仅解决了编译失败问题,还提供了完整的开发调试环境配置指南,适合需要在旧版macOS上使用PHP5.6进行开发的技术人员参考。原创 2025-09-10 09:36:04 · 1125 阅读 · 0 评论 -
LZW算法详解与实践指南:从原理到实践的无损压缩方案 (包含多语言GO,python,java,php,cpp项目示例)
LZW算法是一种基于字典的无损压缩技术,通过动态构建字符串-编码映射实现高效压缩。本文详解了LZW的核心原理:初始化单字符字典,编码时用短码替换重复字符串并动态扩展字典,解码时反向重建字典还原数据。还提供了Go、Python、Java等多语言实现示例,展示了压缩/解压完整流程。该算法在图像处理、数据传输等领域应用广泛,特别适合处理重复模式数据,但需注意字典管理策略。文章包含各语言项目代码,可直接用于实践。原创 2025-08-12 08:00:31 · 1468 阅读 · 0 评论 -
Laravel HTTP Facade 使用指南:从入门到精通
本文详细介绍了Laravel HTTP Facade的使用方法,从基础请求到高级配置,再到异常处理。主要内容包括:发送GET/POST请求,设置请求头和超时,文件上传,响应数据处理,状态码检查等。特别强调了异常处理技巧,如捕获RequestException、处理非200状态码、解析JSON异常等。文章通过大量代码示例展示了如何优雅地构建HTTP请求并处理各种响应情况,帮助开发者编写更健壮的API调用代码。原创 2025-06-22 11:31:11 · 901 阅读 · 0 评论 -
PHP 加密解密函数详解:基于OpenSSL AES-256-CBC的实现
PHP AES-256-CBC加解密实现解析 本文详细讲解PHP中使用AES-256-CBC算法的数据加密解密实现。通过两个核心函数encrypt_data和decrypt_data剖析加密流程:生成随机IV、SHA-256密钥派生、JSON序列化、openssl加密及Base64编码。解密过程逆向执行,包含异常处理机制。 文章强调安全注意事项:密钥管理需改进硬编码方式,建议记录解密错误日志,并指出CBC模式缺乏完整性校验。代码展示了对初始化向量随机性和数据传输编码的规范处理。 TAG: PHP加密、AES原创 2025-06-22 08:25:36 · 1013 阅读 · 0 评论 -
Laravel项目 使用compose时提示 ext-http * php扩展缺失问题解决方案composer.json requires PHP extension ext-http *
Laravel项目composer update报错解决方案 在Laravel项目中执行composer update时出现"ext-http扩展缺失"错误。主要问题有两个:1)系统缺少PHP的http扩展;2)laravel-dompdf依赖冲突。 提供两种解决方案: 使用参数忽略扩展检查: composer update --ignore-platform-req=ext-http 安装pecl_http扩展: 通过pecl命令安装替代扩展: pecl install pecl_ht原创 2025-06-11 16:00:47 · 502 阅读 · 0 评论 -
如何使用cURL设置Authorization请求头并发送JSON数据:以FCM推送为例
本文详细介绍了如何在多种编程语言中设置cURL的Authorization请求头并发送JSON数据,以FCM推送为例。主要内容包括:PHP中使用curl_setopt_array设置请求头并处理响应;Go语言通过net/http包构建带认证的HTTP请求;Java利用HttpURLConnection类实现JSON数据推送。每种语言示例都展示了完整的实现代码,涵盖请求构建、认证头设置、JSON数据发送和响应处理等关键步骤,为开发者提供了跨平台的技术参考方案。原创 2025-06-03 08:12:59 · 1388 阅读 · 0 评论 -
PHP 中密码安全验证函数解析与优化
本文深入探讨了PHP中密码安全验证函数的优化与最佳实践。通过一个增强版的密码验证函数示例,展示了如何利用正则表达式和详细错误反馈来提高密码安全性。文章还提出了十大密码安全最佳实践,包括使用现代哈希算法、设置合理密码长度、避免过度复杂字符要求等。此外,通过LinkedIn、Adobe等真实案例,强调了实施严格密码安全措施的重要性。总结中,文章强调了优化函数实现、遵循最佳实践以及从真实案例中吸取教训的重要性,为Web应用开发中的密码安全提供了全面的指导。原创 2025-05-13 10:30:23 · 1033 阅读 · 0 评论 -
Sentry日志管理thinkphp8 tp8 sentry9 sentry8 php8.x配置步骤, tp8自定义异常处理类使用方法
在app/provider.php中加载自定义异常类 就是将 'think\exception\Handle' => '\app\common\exception\Sentry', 添加到Provider中 这里就会自动覆盖tp8的异常处理类.php/***//*** 获取Sentry异常处理实例*/// 初始化Sentry/*** 记录异常信息(包括日志或者其它方式记录)*/// 获取Sentry异常处理实例。原创 2024-12-18 19:16:07 · 659 阅读 · 0 评论 -
如何将自己的PHP类库发布到composer仓库
使用你的github账号创建一个仓库,并将你的代码推送到github,如下图所示。命令,Composer 会自动从 Packagist 下载你的类库并安装到项目的。然后在项目根目录下执行。原创 2024-12-11 20:12:14 · 1083 阅读 · 0 评论 -
vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
在vscode中,当我们安装了插件 PHP Debug(xdebug.php-debug)或者 xdebug.php-pack 后 我们通过内置默认的 php xdebug配置启动php项目后,默认情况下我们在vscode中设置断点是不会生效的,因为我们的内置php服务默认启动时是不会加上xdebug参数的。 这个时候有2中解决方法: 方法二、安装插件 DEVSENSE.phptools-vscode 如果不手动增加上面的配置,就需要安装这个插件,这个插件安装后,我们通过vscode启动PHP内置原创 2024-11-03 20:04:34 · 895 阅读 · 0 评论 -
php内置服务停止shell小工具,用来停止指定的端口的php内置服务进程
最近vscode总是喜欢闪退,这导致了上面启动的php内置服务变成了无法管理状态,所以就有了这个工具来停止相关的PHP内置服务进程.将下面的代码保存到本地合适的位置,并命名为 stop.sh。原创 2024-11-02 16:35:14 · 577 阅读 · 0 评论 -
vscode通过.vscode/launch.json 内置php服务启动thinkphp 应用后无法加载路由解决方法
我们在使用vscode的 .vscode/launch.json Launch built-in server and debug 启动thinkphp应用后默认是未加载thinkphp的路由文件的, 这个就导致了,某些thinkphp的一些url路由无法访问的情况, 如http://0.0.0.0:8000/api/auth.admin/info这种中间带点的二级路由/api/auth.admin/info就无法访问了.原创 2024-10-31 09:30:54 · 612 阅读 · 0 评论 -
thinkphp8模型中 where数组条件大于,小于,like等条件时与tp5/6 的区别和使用示例
tp8模型中的where查询条件为数组且使用大于,小于,like等条件时的使用方式和之前的tp5/6等版本的使用区别如下:大于 >, 小于, like等条件时使用方法:注意这里的where数组条件里面有多个时使用的是二维数组的形式,既 [ [条件1], [条件2] ],当条件是等于=时,如果是多个,使用 [ ['id', '=','2'] ], 如果只有一个条件/或者条件是等于 则可以只用索引数组, 如: ['id'=>'2', 'real_name'=>'张三' ], 对于这种情况下的wher原创 2024-10-31 08:58:41 · 1469 阅读 · 0 评论 -
php “call to undefined function mb_check_encoding“ php调用多字节字符串处理相关函数mb_xxx时提示函数未定义解决方法
如果是macos中的macport安装的php, 则执行 sudo port install phpxx-mbstring 即可安装mbstring扩展, 注意把xx替换为你的php版本号,如 72, 80等。Oniguruma 对于支持多字节字符的正则表达式函数是必需的。在 PHP 7.3.0 之前,如果系统已安装 libmbfl,来对已安装的 libonig 库进行构建。:禁用正则表达式函数中多字节字符的支持。来禁用多字节正则表达式回溯检查。可以指定使用已安装的库。函数必须启用这个选项。原创 2024-10-11 16:00:08 · 660 阅读 · 0 评论 -
macos php开发环境之macport安装的php扩展安装,php常用扩展安装,port中可用的所有php扩展列表
macos中,我们使用了port 安装了php后,默认只带有php基本的核心扩展的, 如果需要使用其他的扩展,如 redis, https, xdebug等扩展就需要我们手动来安装对应的扩展。macos php开发环境 macport安装的php的方法见本文主要讲解macos中使用macport包安装的php的扩展安装配置方法和port中支持的所有php扩展列表等。切换当前的php版本使用80。原创 2024-10-07 21:05:54 · 2176 阅读 · 0 评论 -
php composer 一键安装和加速配置
php composer 一键安装和加速配置原创 2024-10-07 10:25:54 · 679 阅读 · 0 评论 -
php命令行工具的使用,包括查看版本,扩展和如何快速开启php内置web服务等工具的用法示例
在我们安装好php后,php内置的有很多的命令行可供,我们使用,以下是一些非常有用的常用命令行工具。原创 2024-10-07 10:15:09 · 1167 阅读 · 0 评论 -
php获取远程https内容时提示 PHP Warning: copy(): Unable to find the wrapper “https“ 解决方法
在macos中通过macport安装php后,默认是没有安装openssl扩展的, 需要我们手动安装一下这个openssl的扩展。这个异常是因为当前的php没有配置openssl模块, 所以在php访问https的内容时就提示。如果你的php非port安装的,解决方法也是一样的,安装对应php的 openssl 扩展即可。原创 2024-10-07 09:39:59 · 1050 阅读 · 0 评论 -
macos 中使用macport安装,配置,切换多版本php,使用port 安装php扩展方法总结
macport是一款mac系统中比较优秀的软件包管理工具,他与brew的最大区别在于软件包的安装速度相当的快,以安装php为例, 使用port安装和使用brew安装,port方式安装要比brew方式安装要快最少10倍以上, 因为port安装软件包时,相关的依赖全部都会走加速通道,而brew则仅软件包主体走加速,其他可能被墙直接安装失败!下面以使用macport包管理工具安装 php72 版本为例来说明安装方法。原创 2024-10-06 15:38:07 · 2076 阅读 · 0 评论 -
macos系统内置php文件列表 系统自带php卸载方法
在macos系统中, 自带已经安装了php, 根据不同的macos版本php的版本号可能不同, 我们可以通过 which php 命令来查看mac自带的默认php安装路径, 不过注意这个只是php的执行文件路径.原创 2024-09-05 19:31:04 · 1369 阅读 · 0 评论 -
php 函数引用(指针)局部静态变量 示例
php语言中的引用(指针)和局部静态变量的示例。原创 2024-04-01 08:32:07 · 230 阅读 · 0 评论 -
php安装扩展event 提示 No package ‘openssl‘ found 解决方法
在使用pecl编译安装最新版event模块的时候提示 No package 'openssl' found , 可是本机是安装了openssl的, 编译时找不到, 大概率就是环境配置的问题了, 增加 OPENSSL_CFLAGS OPENSSL_LIBS环境变量即可解决.在 ~/.bash_profile 文件中增加以下环境变量配置, 注意将 /usr/local/opt/openssl@3 替换为你自己的openssl的安装路径。原创 2024-01-02 11:21:15 · 2596 阅读 · 0 评论 -
PHP调用系统命令/其他应用程序 并获取应用返回值的方法
通过 popen, proc_open 函数 即可轻松与系统中的其他应用或者系统命令整合从而实现更加强大的功能和应用.原创 2024-01-01 17:51:37 · 911 阅读 · 0 评论 -
vscode php xdebug本地自动调试配置
本地安装PHP , 然后安装 xdebug模块并配置好xdebug即可, php 和xdebug模块安装配置方法。原创 2024-01-01 11:34:17 · 919 阅读 · 0 评论 -
macos下php 5.6 7.0 7.4 8.0 8.3 8.4全版本PHP开发环境安装方法
在macos中如果使用brew 官方默认的core tap 只可以安装官方最新的稳定版PHP, 如果想要安装 php 5.6 或者 php 8.4版本的PHP就需要使用第三方的tap , 这里分享一个比较全面的brew tap这个tap里面包含了从php5.6到最新版php8.4的所有可用最新版本PHP, 而且是同步官方自动更新查看可用PHP版本安装指定版本PHP目前支持的PHP版本 从 php 5.6 php 7.x php 8.x 到最新的php 8.4版本应有尽有!!原创 2023-12-31 18:43:14 · 2186 阅读 · 0 评论 -
brew install php@8.0 提示 Error: php@8.0 has been disabled because it is a versioned formula!解决方法
macos下brew install php@8.0安装 php8.0提示已经禁用, 这个是因为最新版本的brew/core库中已经禁用了 php@8.0这个.从上图可以看出 shivammathur/php 这个tap中从php 5.6到最新版本的PHP 8.4 应有尽有, 而且都是最新版本!解决方法: 换个tap安装即可, 注意这里直接指定了tap shivammathur/php这样就可以顺利安装了。是不是很nice啊, 哈哈 :)原创 2023-12-31 18:30:29 · 1845 阅读 · 1 评论 -
php8.3安装yaml提示“pecl/yaml“, already installed as version 2.2.3 No valid packages found install failed
php8.3安装yaml提示"pecl/yaml", already installed as version 2.2.3 No valid packages found install failed。解决方法: 直接下载官方源码来编译安装。原创 2023-12-29 16:29:27 · 598 阅读 · 0 评论 -
php 8.4 xdebug扩展编译安装方法
进入目录 /usr/local/etc/php/8.4/conf.d , 创建编辑 ext-xdebug.ini。最新版php8.4 xdebug扩展只能通过编译方式安装, pecl是安装不了的, 编译方法如下。如果出现 xdebug 表示安装并启用成功xdebug, 可以开启你的调试之旅了!这里以 brew install php@8.4安装的PHP最新版为例。却换入xdebug目录执行编译安装xdebug。3. 配置启用xdebug。验证XDEBUG是否安装成功。下载最新版xdebug。原创 2023-12-29 15:46:46 · 1381 阅读 · 0 评论 -
自定义json编码函数 json_encode
用于在没有加载json_encode函数的情况下自定义 json_encode编码。原创 2023-11-14 09:24:42 · 149 阅读 · 0 评论 -
php 从url中解析主机名/域名/IP和端口
从url中解析主机名/域名 , IP地址和端口 返回包含域名和端口的数组。原创 2023-10-13 11:04:02 · 383 阅读 · 0 评论 -
macos php5.6 Library not loaded: libicui18n.73.dylib 异常解决
系统中的多语言处理库版本不匹配, 当前brew库中能安装的最新版本为 icu4c 71.1 但是php需要的是73版本。macos下使用 brew install php@5.6 安装成功后居然运行不了,提示如下错误。原创 2023-09-09 09:36:31 · 1870 阅读 · 1 评论
分享