@php

Stories List
@tangqingfeng

Yii2 init 初始化腳本分析

腳本目的: init 腳本主要的作用是:從 environments 目錄中複製配置文件,確保應用適配不同環境(例如開發、生產環境等)。 工作流程: 獲取 $_SERVER 的 argv 參數 加載 environments/index.php 文件,拿到不同環境配置指定的配置文件關係。 如果執行 init 腳本時提供了 --env 選項,例如:--env=Development 則直接應

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@explinks

如何運用API接口採集Python、PHP、Ruby編程中的搜索引擎結果

搜索引擎結果採集API,即接口形式的技術工具,能從搜索引擎的結果頁面(SERP)中高效抓取相關信息。此API使開發者或企業能夠自動獲取搜索引擎結果,省去手動查詢步驟。 搜索引擎結果採集API作為此類功能的接口,支持用户通過編程方式接入,賦予其自動化採集能力。本文將以bright.cn公司的搜索引擎爬蟲API接口為例,詳細介紹如何接入及深度運用。但需注意,本文僅涉及產品範疇,不包含實際操作方法。 相

explinks Avatar

@explinks

Nickname 冪簡集成

@tpwonline

簡單的PHP多線程爬蟲框架querylist實踐(應用於thinkphp5+)

php在多線程爬蟲這塊確實很薄弱,但也是存在可行易實現的方案的。 實踐框架:thinkphp5 要實現這個功能,需要安裝兩個包: jaeger/querylist:可以實現一些爬網頁常用的語法,比如xPath jaeger/querylist-curl-multi:實現多線程發起網絡操作的包 querylist的優點是安裝簡單、無坑,在命令行和接口都可以使用。 相關文檔:

tpwonline Avatar

@tpwonline

Nickname oooonline

@wanglizhi_5dd4059a702d2

PHP錯誤與異常(彙總版)

“相信大家都有過這樣的體驗,無論在開發階段有多麼嚴謹,都避免不了代碼在上線運行過程中發生不可控的錯誤或異常,導致頁面顯示達不到預期效果,所以説合理的處理此類情況不但能提高系統的健壯性還有利於我們快速的定位問題” 什麼是錯誤 PHP程序自身的問題,一般是由非法的語法,環境問題導致成為錯誤 PHP錯誤配置 全局的配置修改在php.ini文件中,修改後重啓php服務生效 e

wanglizhi_5dd4059a702d2 Avatar

@wanglizhi_5dd4059a702d2

Nickname 荔枝也編程

@phpercode

PHP 基於 SW-X 框架,搭建WebSocket服務器(二)

前言 官網地址:SW-X框架-專注高性能便捷開發而生的PHP-SwooleX框架 希望各大佬舉起小手,給小弟一個star:https://github.com/swoolex/swoolex 1、前端模板 最終要實現的效果,如下圖: 該模板可以直接下載:練習WebSocket使用的前端html模板 也可以直接使用下面的前端代碼,命名為:index.html !DOCTYPE HTML html

phpercode Avatar

@phpercode

Nickname PHP之路

@weiyi_5b04fb4aa815a

Windows 下 PHP 7 中 *getcsv 函數解析 CSV 錯誤的問題記錄

封面圖片源自 Pixabay 前言 前段時間在使用 str_getcsv 和 fgetcsv 處理 CSV 文件的時候遇到的一個問題: 測試中,文,foo,bar,123 預期情況下,應該返回一個數組。["測試中", "文", "foo", "bar", "123"],而實際卻得到了 ["測試中,文,foo", "bar", "123"],是的,測試中,文 居然沒有被分開,經過一番測試和查證,最後

weiyi_5b04fb4aa815a Avatar

@weiyi_5b04fb4aa815a

Nickname 唯一丶

@da_miao_zi

PHP核心開發者Nikita的首次提交,就實現了個寂寞啊

Nikita Popov 曾是 PHP 社區中備受尊敬的核心開發者之一。幾年間,他深度參與了性能優化工作,一邊不斷實現新功能,一邊修復歷史遺留的大量錯誤,是把 PHP 從“老舊腳本語言”推動為“現代編程語言”的關鍵人物之一。 Nikita 可謂年輕有為,據説還在高中時期就開始參與 PHP 開發,首次貢獻是在 PHP 5.5 版本中。 我們不禁好奇,這位才華橫溢的開發者第一次會向 PHP 代碼庫提

da_miao_zi Avatar

@da_miao_zi

Nickname da_miao_zi

@tanking

我讓chatGPT用PHP寫一個MVC框架,不僅寫出來,還能跑!

本文摘要 聽説chatGPT很火,還會寫代碼,而且寫出來的代碼還真能跑起來!於是我嘗試讓chatGPT給我用PHP寫一個簡單的MVC框架出來。 沒想到寫出來的框架確實挺簡單的,但是又沒覺得哪裏不對,於是我嘗試把這個框架放到服務器試試能不能跑起來,最後還真的可以跑起來,為了讓大家能夠看到這個框架的演示,我直接爬一個熱搜,然後便於展示數據。 當然了,這個框架只是告訴你框架的基本結構,實際上一個PHP

tanking Avatar

@tanking

Nickname TANKING

@tanking

PHP輕量級、超簡單、入門級、易上手的框架:CodeIgniter

摘要 CodeIgniter 3 是一個輕量級的 PHP Web 應用程序開發框架,專注於簡單性和性能。它提供了一系列的庫和工具,幫助開發者快速構建各種規模的 Web 應用程序。 簡單易用:CodeIgniter 設計簡潔,學習曲線低,使得開發者可以快速上手並開始構建應用程序。 MVC 架構:CodeIgniter 遵循 MVC(Model-View-Controller)設計模式,將應用程序的邏

tanking Avatar

@tanking

Nickname TANKING

@tanking

PHP輕量級高性能HTTP服務框架 - webman

摘要 webman 是一款基於 workerman 開發的高性能 HTTP 服務框架。webman 用於替代傳統的 php-fpm 架構,提供超高性能可擴展的 HTTP 服務。你可以用 webman 開發網站,也可以開發 HTTP 接口或者微服務。 除此之外,webman 還支持自定義進程,可以做 workerman 能做的任何事情,例如 websocket 服務、物聯網、遊戲、TCP 服務、UD

tanking Avatar

@tanking

Nickname TANKING

@baiyu_5e8165d8c9fd8

ThinkPHP6中間件深度解析:原理、流程與實戰指南

一、中間件的核心價值 在Web開發中,中間件是處理HTTP請求/響應的重要機制。ThinkPHP6通過中間件實現了: 解耦處理邏輯:將非業務代碼(如鑑權、日誌)從控制器中剝離 靈活組合:按需為不同路由配置不同處理流程 雙向處理:支持請求到達前和響應返回前的雙向處理 統一管理:集中處理通用邏輯,提升代碼複用性 二、核心原理剖析 1. 管道模式(Pipeline) ThinkPHP6中間件

baiyu_5e8165d8c9fd8 Avatar

@baiyu_5e8165d8c9fd8

Nickname 白穹雨

@tanking

開源!2025年最新微信域名攔截檢測接口(2個官方接口)

🔍 WeixinDomainCheck - 微信域名攔截檢測接口 一個用於檢測你的域名是否被微信封禁或攔截的小工具。通過調用微信官方接口,免費、無限次數檢測。 📌 功能簡介 檢測任意域名是否被微信攔截 提供兩種檢測方式(騰訊安全中心 微信公眾號接口) 支持通過 HTTP 接口調用,適合嵌入系統或定期掃描 🚀 如何使用 ✅ 使用示例: 假設你的網站域名是 www.qq.com,你想

tanking Avatar

@tanking

Nickname TANKING

@zxc7563598

用裝飾器模式實現多層緩存:讓PHP應用更快更穩

為什麼要做多層緩存? 想象這樣一個場景:你的PHP應用每次訪問數據庫都要花1秒鐘,用户抱怨頁面加載太慢。這時候你會想到加緩存——但只用一層緩存夠嗎? 比如: 內存緩存雖然快,但重啓服務數據就沒了 Redis緩存能持久化,但網絡請求也有開銷 文件緩存最可靠,但磁盤讀寫速度有限 多層緩存的思路很簡單: 把最快的緩存放在最前面,就像快遞櫃一樣—— 優先從內存取(速度最快) 內存沒有

zxc7563598 Avatar

@zxc7563598

Nickname 蘇琢玉

@amc

AI 寫文章系列——Ubuntu 24.04 pipx install 解決 ModuleNotFoundError 問題

概述 自從轉 Go 之後,好久沒寫 Python 了。最近在 Ubuntu 24.04 中使用 pipx 安裝了一個工具之後,運行報依賴錯誤。把上下文餵給 DeepSeek 之後,最終解決了問題。 我讓 DeepSeek 回顧問答的上下文,整理了一篇文章出來——不過相比上一篇,這次我人工介入修改的內容多得多。 問題提出 最近需要扣一個圖,把我的證件照背景顏色換一換。搜了一下,在 Github 上

amc Avatar

@amc

Nickname amc

@wanhuabandeshuitong

PHP 語言基礎指令介紹

PHP (Hypertext Preprocessor) 是一種流行的開源腳本語言,特別適合於 Web 開發。PHP 代碼通常嵌入到 HTML 中,用於生成動態網頁。對於初學者來説,瞭解一些基礎的 PHP 指令是入門的關鍵。本文將為新手介紹 PHP 語言中常用的指令及其基礎操作,幫助你快速上手 PHP 開發。 1. PHP 文件的基本結構 PHP 代碼通常放在 .php 文件中,文件中的 PHP

wanhuabandeshuitong Avatar

@wanhuabandeshuitong

Nickname wanhuabandeshuitong

@fengliudeshanghen

索引與性能優化

title: 索引與性能優化 date: 2024/12/15 updated: 2024/12/15 author: cmdragon excerpt: 索引是數據庫性能優化的重要工具,通過建立索引,可以加速數據的檢索和查詢操作,從而提高數據庫的響應速度。雖然索引能顯著改善數據訪問性能,但不當的使用也可能導致性能下降。 categories: 前端開發 tags

fengliudeshanghen Avatar

@fengliudeshanghen

Nickname 風流倜儻的傷痕

@leeqvip

使用 PHP-Casbin 在 SaaS 應用中做多租户權限系統架構設計

多租户(multi-tenancy)是一種軟件架構技術,是實現在多租户的環境下共用相同的系統或程序組件,並且保證各用户間的數據隔離,也可稱作域租户。 PHP-Casbin 不僅提供了全局的RBAC的權限模型,而且還支持特定域的權限模型。特定租户/域的角色意味着當用户在不同的租户/域中時,用户可以擁有不同的角色,亦擁有不同的權限策略。在大型項目中,特別是在像SaaS PaaS這種雲服務中,不同的租户

leeqvip Avatar

@leeqvip

Nickname JonLee

@shanliangdehuasheng_egoaui

項目實戰用swoole啓websocket服務

項目中用到了websocket長鏈接, 記錄下結合swoole如何實現這個功能 項目中之所以要用websocket主要是想實現用户在回收設備上掃碼投遞瓶子之後,將投遞的瓶子數據推送到用户小程序端進行同步展示, 這樣用户在設備上投遞完瓶子後, 在小程序上就能同時看到相應變化, 給用户一個更好的使用體驗 面向過程風格代碼 //引入redis $redis = new \Redis(); $redis-

@shanliangdehuasheng_egoaui

使用swoole部署websocket服務端

使用swoole部署websocket服務端 Swoole 支持在同一個 WebSocket 服務中監聽多個端口,併為不同端口配置不同的協議(ws 或 wss)。只需在創建 Swoole\WebSocket\Server 時通過 addListener() 方法添加額外端口,並分別配置 SSL 證書即可。 方式一:直接起兩個服務端口(不推薦) 方式一實現示例代碼: ?php // 創建主服務器(默

@tangqingfeng

php 設計模式詳解

簡介 PHP 設計模式是對軟件開發中常見問題的可複用解決方案,通過標準化的結構提升代碼的可維護性、擴展性和複用性。 創建型模式(對象創建) 關注對象的創建過程,解決 “如何靈活、安全地生成對象” 的問題。 單例模式(Singleton) 意圖:確保一個類僅有一個實例,並提供全局訪問點。 適用場景:全局配置、數據庫連接池、日誌管理器(需共享狀態)。 實現要點: 私有構造函數(禁止外部實例化

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@invalidnull

pm2 工具在 Node.js 開發和部署中的重要作用

引言 在Node.js開發和部署體系中,pm2 (Process Manager 2) 是一個備受歡迎的工具,用於簡化應用程序的管理、監控和部署。pm2不僅僅是一個進程管理器,還提供了許多功能,包括負載均衡、日誌管理、自動重啓等,使得在生產環境中運行Node.js應用更為可靠和高效。 1. 安裝和基本用法 首先,通過以下命令安裝pm2: npm install -g pm2 使用pm2啓動一個No

invalidnull Avatar

@invalidnull

Nickname 註銷

@_kysou

[網絡安全]框架漏洞(1)

後綴名過濾漏洞 在部分網站中會過濾文件名,例如將aphpbc去掉php,變為abc。 所以漏洞的產生了,如pphphp,去掉第一個php,就剩下一個php了。 長效漏洞 ?php while (1){ file_put_contents("horse.php", "..."); } ? 這樣你即使是刪了後門文件,也會不斷寫入後門,佔用你的磁盤I/O。 CurArgs漏洞 此漏洞報告於

_kysou Avatar

@_kysou

Nickname Kysou

@manongsir

PHP轉Go系列 | ThinkPHP與Gin框架之API接口簽名設計實踐

大家好,我是碼農先森。 回想起以前用模版渲染數據的歲月,那時都沒有 API 接口開發的概念。PHP 服務端和前端 HTML、CSS、JS 代碼混合式開發,也不分前端、後端程序員,大家都是全乾工程師。隨着前後端分離、移動端開發的興起,用後端渲染數據的開發方式效率低下,已經不能滿足業務對需求快速上線的要求了。於是為了前後端的高效協同開發引入了 API 接口,只要在開發需求之前約定好數據傳參,之後便可以

manongsir Avatar

@manongsir

Nickname 碼農先森