当前位置:首页>python>别让 Python 称霸!PHP 才是 AI 时代的黑马

别让 Python 称霸!PHP 才是 AI 时代的黑马

  • 2026-06-29 21:33:16
别让 Python 称霸!PHP 才是 AI 时代的黑马

概述

我用PHP写代码已经超过20年了。我看过它被宣布“已死”至少十几次。而每一次,它都继续支撑着越来越多的互联网。

所以当AI开始进入项目需求时,我没有转向Python。我没有购买某个工作流构建器的席位,也没有去上什么课程。我只是打开现有的代码库,写了一个服务,然后发起一个API调用。

就这样。这就是全部的解锁。你不需要花哨的GUI或复杂的系统。

没有人质疑的假设

Python主宰了AI领域。每个人都知道这一点。如果你正在训练模型、构建研究管道,或从事任何数据科学相关的工作,Python就是正确的工具。这点无需争辩。

但大多数团队没有问的是:你真的在训练模型吗?还是只是在调用API?

这两者是完全不同的问题。而如今大多数企业构建“AI功能”时做的都是后者。他们向Claude、GPT或Gemini发送提示,然后用响应做些有用的事。这就是一个REST调用。

REST调用是语言无关的。而PHP早在大多数AI初创公司出现之前,就已经在做REST调用了。

最适合工作的工具,通常就是已经在生产环境中运行的那个。

你已经拥有了整个技术栈

根据W3Techs的数据,PHP驱动了超过71%已知服务器端编程语言的网站。仅WordPress就占据了整个互联网的42%。再加上Laravel、Symfony、Magento、Craft CMS以及数千个自定义代码库,你就知道生产环境的Web软件实际在哪里了。

注:我还记得PHP刚出来的时候,那时我正淹没在Perl里,从那以后我就一直坚持用PHP!

对于CMS网站,我多年前从WordPress开始,后来有所迁移。但像AI Engine(超过80,000个活跃安装,完整MCP服务器支持,内置Claude和GPT集成)这样的插件,以及Automattic的AI Building Blocks计划推出的官方WordPress MCP Adapter,正在把WordPress变成一个真正的Agentic平台。很难忽视。

而生产环境的Web软件,正是AI Agent需要运行的地方。

AI行业不会告诉你的是:大多数“Agent”其实就是老派的服务。真的。去掉营销包装,一个典型的AI Agent就是一个接受输入、调用外部API、应用一些逻辑并返回输出的类。我们从2000年代早期就开始写这类东西了。

Agentic包装器在上面添加了规划、记忆和工具调用。这是真实的,也很重要。但底层模式对于任何在MVC框架中工作过的人来说并不陌生。

想想Agent在应用层实际做什么:它从数据库读取数据,调用外部API,处理表单提交,触发Webhook,队列任务,写回存储并返回响应。

PHP已经做了这些30年。你的认证系统已经在那里,你的数据库连接已经在那里,你的业务逻辑已经在那里。

那么,为什么要为你的PHP应用旁边启动一个Python微服务,在进程边界复制数据上下文,并引入一个全新的运行时来维护,就只是为了向LLM发一个HTTP请求呢?

其实,我知道原因。因为所有教程都展示Python。因为LangChain是Python的。因为AI讨论主要发生在被机器学习工程师主导的平台上,而他们很少接触日常的内容管理系统。

过度设计的的问题

我见过团队用AWS Bedrock来总结一个支持工单。我见过n8n工作流用了14个节点来完成本质上就是一个带条件逻辑的API调用。Make.com是连接SaaS应用的无代码神器,但它不是在你已经掌控的生产PHP应用中嵌入AI功能的正确答案。

这些平台存在是有理由的。但它们解决的是不同的问题。当你没有后端团队、只想粘合第三方服务时,或者你在Node/React栈上、JS是主要语言时(不是我的世界,但它在那儿工作得很好),它们很有意义。

但当你是一个PHP开发者,能写出下面代码时,它们就不合适了:

$client = new \GuzzleHttp\Client();$response = $client->post('https://api.anthropic.com/v1/messages', ['headers' => ['x-api-key'         => $_ENV['ANTHROPIC_API_KEY'],'anthropic-version' => '2023-06-01'// 必需的header,告诉API使用哪个响应模式'content-type'      => 'application/json',    ],'json' => ['model'      => 'claude-haiku-4-5-20251001','max_tokens' => 1024,'messages'   => [            ['role' => 'user''content' => 'Your prompt here!']        ],    ],]);$data = json_decode($response->getBody(), true);$reply = $data['content'][0]['text'];

当然,这只是一个API调用,不是Agent。但它也是一个可工作的Claude集成。没有平台。没有月费席位。没有新基础设施。用Composer、Guzzle、一个API密钥,你就上线了。

生产环境中还需要加上错误处理、速率限制感知和重试逻辑,但这在任何语言中都一样,而且都不需要新技术栈。

复杂度是需要赚取的。大多数基于Web的Agent用例并不值得引入那么多复杂度。

那么,API调用和真正的Agent有什么区别?API调用等待响应并返回它。Agent会决定下一步做什么、调用工具、检查自己的输出,并循环直到任务完成。上面的Guzzle片段是一个坚实的基础。

真正改变的是什么

PHP为此做好准备,不仅仅是因为REST调用。语言本身已经显著进化了。

PHP 8.x引入了Fiber、类型化属性、命名参数、match表达式和枚举。Fiber支持单进程内的协作式调度,这很有用,但不是真正并发的替代方案。对于并行的Agent任务,通过Supervisor或Redis支持的队列Worker是实际的答案,而这个模式在PHP中已经非常成熟。

最重要的是,这一切都不需要改变你的技术栈。一个标准的LEMP设置就能轻松处理LLM API调用、队列Agent任务和Webhook驱动的工作流。这就是目前运行大多数生产PHP Web的同一栈,对于大多数Agentic用例来说已经绰绰有余。

如果你想更进一步,FrankenPHP和RoadRunner都提供了长生命周期Worker模式,能消除每个请求的启动开销,这对持久的Agent循环很重要。但这是一个优化,而不是前提。先构建Agent。如果工作负载需要,再优化运行时(很少需要)。

还有MCP。Anthropic的Model Context Protocol现在已被捐赠给Linux基金会,在Agentic AI Foundation下,由PHP Foundation维护的官方PHP SDK。它通过SSE或HTTP工作,能将你的PHP应用的工具原生暴露给任何支持MCP的AI客户端。这意味着PHP应用可以原生地向AI系统暴露工具,而不需要Python包装器或中间层。

PHP的Agent生态系统

那么,目前实际的PHP AI工具生态是什么样的?

Neuron AI 是PHP领域最成熟的专用Agent框架。由Inspector.dev团队构建,它提供了Agent基类、工具调用、RAG支持、多Agent编排和内置监控。它能在Laravel、Symfony、WordPress和轻量PHP框架上工作,而不会强制框架绑定。

以下是模式:一个带工具的Agent类。工具正是让它区别于普通API调用的地方——由Agent决定何时调用,而不是你的代码:

namespaceApp\Neuron;use NeuronAI\Agent\Agent;use NeuronAI\Agent\SystemPrompt;use NeuronAI\Chat\Messages\UserMessage;use NeuronAI\Providers\AIProviderInterface;use NeuronAI\Providers\Anthropic\Anthropic;use NeuronAI\Tools\PropertyType;use NeuronAI\Tools\Tool;use NeuronAI\Tools\ToolProperty;classFitnessAgentextendsAgent{protectedfunctionprovider()AIProviderInterface{returnnew Anthropic(            key:   $_ENV['ANTHROPIC_API_KEY'],            model: 'claude-haiku-4-5-20251001',        );    }protectedfunctioninstructions()string{return (string) new SystemPrompt(            background: ['You are a knowledgeable fitness assistant.'],            steps:      ['Use available tools to look up workout plans before answering questions about them.'],            output:     ['Give clear, practical guidance based on the workout data returned.']        );    }protectedfunctiontools()array{return [            Tool::make('get_workout''Look up a workout plan by name or muscle group.')                ->addProperty(new ToolProperty(                        name:        'workout_name',                        type:        PropertyType::STRING,                        description: 'The name or muscle group of the workout to retrieve.',                        required:    true                    )                )                ->setCallable(function(string $workout_name){// Your existing workout DB or API call here                    $pdo  = new \PDO($_ENV['DB_DSN'], $_ENV['DB_USER'], $_ENV['DB_PASS']);                    $stmt = $pdo->prepare("SELECT exercises, sets, reps FROM workouts WHERE name = ?");                    $stmt->execute([$workout_name]);                    $row  = $stmt->fetch(\PDO::FETCH_ASSOC);return $row ? json_encode($row) : 'Workout not found.';                }),        ];    }}$reply = FitnessAgent::make()    ->chat(new UserMessage('How many sets should I do for a beginner chest workout?'))    ->getMessage()    ->getContent();echo $reply;

Agent接收问题,判断需要get_workout工具,用提取出的肌肉群或计划名称调用它,然后将结果融入响应中。完全不需要你手动连接逻辑。这就是从API包装器到Agent的转变

除了Neuron,生态系统发展迅速。LLPhant提供了LangChain风格的方法。Prism作为Laravel项目的干净、提供者无关的接口正在获得关注。Symfony AI为Symfony生态带来了原生集成。

值得注意的是:这些都不需要重量级框架。Slim、Flight、F3、Phalcon和CodeIgniter等轻量PHP框架也能以最小开销干净地接入Agent服务。如果你的栈本来就很轻量,添加Agent层也不会改变这一点。

PHP中的RAG:比你想象的简单

检索增强生成(RAG)听起来很吓人。其实不然。其核心就是四个步骤:切分内容、生成嵌入、检索最相关的块,并注入到提示中。

Qdrant、Pinecone和Weaviate等向量数据库都暴露HTTP API。PHP能调用HTTP API。所以这样就行:

$openAiClient = OpenAI::client($_ENV['OPENAI_API_KEY']);$guzzle = new \GuzzleHttp\Client();$userQuery = $_POST['question'] ?? '';// 1. 通过OpenAI生成嵌入$embedding = $openAiClient->embeddings()->create(['model' => 'text-embedding-3-small','input' => $userQuery,])->embeddings[0]->embedding;// 2. 查询Qdrant获取最近邻$results = $guzzle->post('http://qdrant:6333/collections/docs/points/search', ['json' => ['vector'       => $embedding,'limit'        => 5,'with_payload' => true,    ],]);// 3. 将检索到的上下文注入提示$hits    = json_decode($results->getBody(), true)['result'];$chunks  = array_map(fn($hit) => $hit['payload']['text'], $hits);$context = implode("\n\n", $chunks);$prompt = "Answer using this context:\n\n{$context}\n\nQuestion: {$userQuery}";

不需要Python。不需要编排层。只需HTTP和一点管道代码。

Python的王国,PHP的领地

我想明确一点:这篇文章不是在争论PHP应该取代Python在AI中的位置。这不是重点。

Python在模型训练、ML研究、数据科学管道、计算机视觉,以及任何涉及笔记本和数值计算的领域完胜。无可争议。该用Python就用Python。

但PHP的领地是生产Web层。而生产Web层正是大多数AI Agent实际会花费时间的地方:CRM、仪表盘、电商平台、CMS系统、管理面板和业务工作流工具中。

这一层已经是PHP的了。Agent也应该如此。

无脑选择的情况

我为医疗、法律、制造和电商等领域的客户构建过生产系统。添加AI功能时反复出现的挑战不是能力,而是上下文。你的Agent需要访问已认证的用户会话、数据库模式、业务规则和缓存层。

把这一切转移到外部Python服务不仅仅是开销,还是技术债务隐患。

PHP让Agent留在应用内部它该在的地方。上下文已经在那里。认证已经在那里。你维护多年的部署管道已经在那里。

而且坦白说?大部分互联网也都在那里。

你不需要Bedrock,不需要n8n,不需要让团队学习新语言。你需要的只是一个API密钥、一个服务类,以及你已经在生产环境中运行多年的PHP代码库。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 05:17:39 HTTP/2.0 GET : https://f.mffb.com.cn/a/490958.html
  2. 运行时间 : 0.224685s [ 吞吐率:4.45req/s ] 内存消耗:4,553.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e3f5e41e72c43188283d432cef4702f1
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000575s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000887s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008990s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000322s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000696s ]
  6. SELECT * FROM `set` [ RunTime:0.000324s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000534s ]
  8. SELECT * FROM `article` WHERE `id` = 490958 LIMIT 1 [ RunTime:0.004984s ]
  9. UPDATE `article` SET `lasttime` = 1783113459 WHERE `id` = 490958 [ RunTime:0.037819s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001206s ]
  11. SELECT * FROM `article` WHERE `id` < 490958 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.028984s ]
  12. SELECT * FROM `article` WHERE `id` > 490958 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001571s ]
  13. SELECT * FROM `article` WHERE `id` < 490958 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.023235s ]
  14. SELECT * FROM `article` WHERE `id` < 490958 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001628s ]
  15. SELECT * FROM `article` WHERE `id` < 490958 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.034189s ]
0.226266s