现在真的还有人用 PHP 吗?

每次看到 GitHub 年度语言排名,PHP 总是在第十名左右晃荡。前端圈的人提起 PHP 就露出"我懂"的笑容,好像这是一种已经被淘汰的语言。

说个冷知识:2025 年全球网站里大约 75% 的服务端语言仍然是 PHP。WordPress 占了全球 CMS 市场的 60% 以上。你正在看的这个博客,后端大概率也跑了 PHP。

所以"没人用 PHP"是个错觉。真相是:用的人太多了,多到已经没人讨论了。

为什么 PHP 被黑得这么惨

PHP 被黑不是没道理的。早期的 PHP(4.x、5.2 时代)确实是坨啥都能跑但啥都跑不好的东西。

全局函数命名没有一致性——strlen()strpos()str_replace() 三种不同风格混在一起。mysql_* 函数用了十几年才被废弃,期间制造了大量 SQL 注入漏洞。register_globals 在 2012 年才从默认配置中移除,之前你写 $user_id 可能直接从 URL 参数里冒出来。

这些历史包袱让 PHP 背上了"不安全"“混乱”"入门太低导致代码质量差"的标签。再加上 PHP 社区早期大部分教程的质量确实不行——教你怎么写代码但不教你怎么写安全的代码——导致 PHP 项目烂代码的比例特别高。

但这是 2015 年以前的 PHP。PHP 7 是一个分水岭。

现代的 PHP 是什么样

PHP 7(2015 年)带来了 Zend Engine 3.0,性能提升 2-3 倍。PHP 8(2020 年)带来了 JIT 编译器、命名参数、联合类型、match 表达式。PHP 8.3(2023 年)进一步完善了类型系统。

现在的 PHP 代码长这样:

<?php

declare(strict_types=1);

namespace App\Service;

readonly class OrderService
{
    public function __construct(
        private PaymentGateway $payment,
        private OrderRepository $repository,
    ) {}

    public function createOrder(CreateOrderDTO $dto): Order
    {
        $order = Order::create(
            userId: $dto->userId,
            items: $dto->items,
            totalAmount: $this->calculateTotal($dto->items),
        );
        
        $this->repository->save($order);
        $this->payment->charge($order);
        
        return $order;
    }
    
    private function calculateTotal(array $items): Money
    {
        return array_reduce(
            $items,
            fn(Money $carry, OrderItem $item) => $carry->add($item->total()),
            new Money(0, 'CNY'),
        );
    }
}

严格的类型声明(strict_types=1)、命名空间、只读类、命名参数、箭头函数、枚举——现代 PHP 的代码质量完全不输给 Java 或 TypeScript。

Laravel 框架也让 PHP 开发变成了完全不同的体验。Eloquent ORM、Artisan CLI、队列系统、事件系统、依赖注入容器——写 Laravel 的感受更像写 Ruby on Rails 而不是写传统 PHP。

PHP 真正的优势在哪里

第一,部署成本为零。 一个 PHP 文件扔到 Apache/Nginx 的目录里就能跑。不用像 Go 那样编译,不用像 Java 那样配 JVM,不用像 Node.js 那样起进程守护。共享主机 5 块钱一个月的空间就能跑 PHP——这直接催生了 WordPress 生态的爆发。

第二,开发速度。 因为 PHP 的"请求-响应"模型天然契合 Web 开发,你不用管连接池、事件循环、内存泄漏。每个请求独立运行,请求结束内存回收。这听起来不"高级",但超级实用。

第三,WordPress 生态。 这是 PHP 最不可替代的一点。如果你想做 WordPress 主题开发、插件开发——只能用 PHP。全球 WordPress 的生态价值是几百亿美元级别,而且每年还在增长。

第四,Laravel 生态。 Laravel 的生态成熟度在 Web 框架里能进前三(跟 Rails、Django 一个级别)。Forge 管服务器、Vapor 管 Serverless、Nova 管后台、Spark 管 SaaS 计费——你想做的东西大概率已经有现成的 Laravel 方案。

PHP 的致命弱点

不回避问题:

并发处理弱。 PHP 的传统模型是一个请求一个进程/线程。虽然 Swoole、RoadRunner、FrankenPHP 这些方案能提升并发,但跟 Go 的 goroutine 或 Node.js 的事件循环比,确实不在一个量级。

不适合长连接场景。 WebSocket、实时推送——这些是 PHP 的痛点。你要做聊天应用、实时协作工具,PHP 不是好选择。

不适合 CPU 密集型计算。 虽然 PHP 8 有 JIT,但它的定位从来不是计算密集。做图像处理、机器学习推理——别用 PHP。

国内岗位结构分化。 国内 PHP 岗位大部分是 WordPress 建站和 Laravel 业务开发。高薪岗位集中在字节、腾讯这些大厂的 Go/Java 技术栈。PHP 开发者的薪资天花板确实比 Go/Java 低一些。

什么人该学 PHP

直接学 PHP,如果:

  • 你想做 WordPress 开发——主题、插件、建站服务。这个市场大且稳定,WordPress 不会消失。
  • 你想快速做出一个产品——独立开发、MVLP、个人项目。PHP + Laravel 的开发速度极快。
  • 你在做内容型网站——博客、企业站、电商站。PHP 就是这个领域的王者。
  • 你想找一份建站公司的工作——这些公司 90% 用 PHP,而且岗位稳定。
  • 你预算有限——5 块钱的虚拟主机就能跑 PHP,Go/Java 起步就得 VPS。

别学 PHP,如果:

  • 你的目标是进大厂做后端——学 Go 或 Java,PHP 的岗位少。
  • 你想做高并发系统——学 Go 或 Rust,PHP 不是为这个设计的。
  • 你想做实时应用——学 Node.js 或 Go。
  • 你在乎别人怎么看你的技术栈——这不理性,但很多人确实在意。

PHP vs 其他语言的选择对照

场景 推荐 理由
个人博客/企业站 PHP WordPress 生态成熟
快速 MVP PHP (Laravel) 开发速度最快
大厂后端 Go / Java 岗位多、薪资高
高并发服务 Go goroutine 是天然优势
实时聊天 Node.js / Go 长连接是 PHP 弱项
数据分析 Python 库生态碾压
SaaS 产品 PHP (Laravel) Spark/Vapor 生态成熟

最后

"没人用 PHP"这句话的能量在于:说的人都是前端/移动端开发者,他们确实不用。但另一边,全球 WordPress 站长、Laravel 开发者、Magento/Shopify 生态的人——都在默默用 PHP 赚钱。

PHP 的问题从来不是"没人用"。问题是它在中文互联网的讨论热度低,给人一种"过时"的错觉。但实际上,PHP 8.x 的质量和性能完全可以胜任绝大多数 Web 应用。

我的态度是:别被技术圈的氛围带着走。根据你要做的事情选语言,而不是根据别人怎么评价来选。

如果你做的事是内容型网站、企业应用、快速产品验证——PHP 仍然是最务实的选择之一。

一名痴迷于计算机技术的学生~