从2004年到2025年:PHP开发演进,从LAMP到L

大家好,我是程序员老K,之前说了Java再说PHP
接触 PHP 是在 2004 年末。客户要求用 PHP 实现跨国销售数据管理与报表系统,覆盖多国语言环境。对我来说完全是“现学现用”,幸好有人带。项目周期 7 个月。那时我常混迹 CU、phpBB 等,社区氛围开放,开发者很热情,很多交流后来发展成合作
🔙 2004–2005 的技术
当时的环境是典型的 LAMP
PHP 4.3.x:语法简洁,但国际化支持有限
Apache 1.3/2.0:和 PHP 搭配稳定
MySQL 4.1:MyISAM 锁问题频发,逐步迁 InnoDB
Debian 3.0:轻量稳定,更新靠 apt-get
工具:Zend Studio 3.5、Dreamweaver、EditPlus
Python 2.3:写批量脚本,弥补 PHP 在数据处理上的不足
项目三大挑战
国际化
多语言编码常冲突,最终数据库统一 UTF-8,在 PHP 端用 iconv、mbstring 转换。UI 借鉴 phpBB、Discuz! 语言包机制,把界面文字抽离到 lang 文件
报表
跨国数据需分区域统计,SQL 里满是 GROUP BY + SUM
PDF:用 FPDF,需额外字库。中文 GB2312/GBK(宋体/黑体),日文 Shift_JIS(MS Gothic),韩文 EUC-KR(Batang/Gulim)。
Excel:依赖 PEAR::Spreadsheet_Excel_Writer,必须先转码,否则乱码
性能
MyISAM 表级锁是瓶颈,后来迁 InnoDB,并配合 APC、memcached 才稳住
那几年我常研究 phpBB、XOOPS、Mambo CMS、Discuz! 等源码,很多深夜调试的灵感正是从这些开源项目里得来
🚀 2005–2025 的技术演进
二十年间,PHP 生态被彻底重塑
框架:从 Zend、CI 到 Laravel
依赖管理:Composer 成为标配
运行环境:PHP-FPM + Nginx 替代 Apache + mod_php,并发大幅提升
性能:PHP 7/8 优化显著,JIT 打开新可能
新能力:Swoole、Workerman 支持常驻内存与协程
工具:PhpSpreadsheet 报表,框架内置 i18n,部署交给 Docker/K8s
相比当年手工调优,如今做跨国系统,大部分问题都能直接靠框架和工具解决。
⚖ 从“边学边用”到“生态化开发”
2004 年,大量精力耗在:
编码冲突
SQL 优化
手工生成 PDF、Excel
自写缓存逻辑
而今天:
国际化/i18n 开箱即用
缓存、分布式队列成标配
报表与可视化库成熟
Docker/K8s 部署分钟级完成
工具进步了,但底层逻辑未变:统一编码、高并发依赖缓存与分库分表,开源社区依旧是最好的课堂。
📝 写在最后
从 LAMP + 手工报表 到 Laravel + Docker/K8s,PHP 在二十年里完成了从脚本语言到现代平台的演进。
那段边学边用的经历让我理解了国际化 开源共享的价值
👉 以上只是个人体会,欢迎交流