PHP后端开发核心是稳请求、连数据、防攻击、扛流量;需掌握框架路由与PSR规范、ORM合理使用、安全防护关键点及部署配置细节。

PHP 后端开发不是只写 echo "Hello",核心在于能稳住请求、连得上数据、防得住攻击、扛得住流量。现在主流项目里,光会语法远远不够,得清楚哪些技术是真正在生产环境里天天打交道的。
HTTP 请求处理与路由机制
现代 PHP 项目基本不裸写 $_GET/$_POST,而是依赖框架(如 Laravel、Symfony)或轻量路由库(如 FastRoute)统一接管请求生命周期。关键不在“怎么跳转”,而在“请求进来后,中间件如何串、参数如何验证、响应怎么标准化”。
- 必须理解 PSR-7/PSR-15 规范:
ServerRequestInterface和ResponseInterface是很多组件交互的基础契约 - 路由参数绑定要小心类型转换,比如
{id:\d+}能防住字符串 ID 混入,但没做校验前别直接进数据库查询 - 文件上传路径别硬写
$_FILES['file']['tmp_name'],要用move_uploaded_file()+ 显式检查is_uploaded_file()
数据库操作与 ORM 使用边界
ORM(如 Eloquent、Doctrine)极大提升开发效率,但也是性能隐患高发区。真正掌握不是“会不会查数据”,而是“什么时候不该用 ORM”。
- 关联预加载(
with())必须用,N+1 查询在列表页一上线就可能拖垮 DB - 复杂统计、多表更新、大批量写入,优先写原生 SQL 或使用 Query Builder,避免 ORM 的对象映射开销
-
DB::transaction()里别混用模型事件(如saving),事件可能触发额外查询,破坏事务原子性 - 连接池、读写分离配置常被忽略,
PDO::ATTR_PERSISTENT => true在 CLI 环境下反而会导致连接泄漏
安全防护不能靠“想起来加”
PHP 默认不自动过滤输入,也不默认加密输出,XSS、SQL 注入、反序列化漏洞全看开发者有没有在关键节点卡住。
立即学习“PHP免费学习笔记(深入)”;
- 输出到 HTML 前必须过
htmlspecialchars($str, ENT_QUOTES, 'UTF-8'),模板引擎(Blade/Twig)的双大括号默认转义,但三重大括号{!! !!}是裸奔区 - 密码必须用
password_hash()+password_verify(),绝不用md5()或sha1() - 用户可控的文件路径拼接(如
include $user_input . '.php')是典型 LFI 入口,一律走白名单或映射表 -
unserialize()已被标记为危险函数,PHP 7.4+ 应改用json_decode();若必须反序列化,至少加__wakeup()校验
部署与运行时关键配置
本地跑通 ≠ 线上可用。很多问题出在 php.ini 或 Web 服务器配置上,而不是代码本身。
-
opcache.enable=1和opcache.validate_timestamps=0(上线后)能显著降低 CPU 占用,但开发阶段要关掉后者,否则改代码不生效 -
max_execution_time和memory_limit在 CLI 脚本里和 Web SAPI 下是两套配置,队列任务超时往往卡在这儿 - FPM 的
pm.max_children不是越大越好,得结合内存和平均请求内存占用算,否则 OOM Killer 直接杀 worker - 错误日志别打屏(
display_errors=Off),但要确保error_log指向可写路径,否则异常静默丢失
真正难的不是学多少技术名词,而是知道哪个函数在什么上下文里该出现、哪个配置项改了会影响哪条链路。线上一个 502,可能是 FPM 子进程崩了,也可能是 Nginx fastcgi_read_timeout 设太短——这些细节,文档不写,但每天都在发生。











