RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 578746
Accepted
Александр
Александр
Asked:2020-10-16 19:08:50 +0000 UTC2020-10-16 19:08:50 +0000 UTC 2020-10-16 19:08:50 +0000 UTC

关于php处理程序的问题

  • 772

下面的问题已经成熟了:有一个表单,用户输入数据,表单传递给处理程序,例如 send.php,它又连接到 mySql 并将数据输入数据库。如果 5 个用户同时访问 handler 会怎样?如果是 50 或 500?会发生什么以及如何避免错误?

php
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    Firepro
    2020-10-16T19:36:49Z2020-10-16T19:36:49Z

    首先,没有人直接连接到文件,而是连接到 PHP-FPM 或 Apache MOD PHP,它们根据给定的参数和配置处理这些文件。

    网络服务器

    此外,首先您必须了解什么是 CGI,请求首先进入 Web 服务器,然后根据此标准进入处理模块(php)。

    请求处理的工作原理

    Common Gateway Interface,“通用网关接口”是一个标准,描述了一个web服务器应该如何运行应用程序(脚本),它应该如何向它们传递HTTP请求参数,脚本应该如何将它们的工作结果传递给web服务器。使用 CGI 协议与 Web 服务器交互的应用程序通常称为网关,尽管名称CGI 脚本或 CGI 程序更常见。

    CGI 技术的进一步发展更加高效和安全,消除了 CGI 程序的许多限制。

    FastCGI程序是这样工作的:脚本作为守护进程(不管HTTP服务器)加载一次内存,然后从HTTP服务器进入请求处理循环。同一个脚本进程依次处理几个不同的请求,这与工作在CGI模式下不同,当为每个请求创建一个单独的进程时,处理完成后“死亡”。

    事实上,一切都很简单,基于模块的 Web 服务器创建额外的处理进程(worker)或通过向其传递请求连接到某种守护进程,并独立选择要处理的进程数。自然地,一个进程可以处理多个请求。

    要提高性能,您需要增加并发进程数、连接数,请参阅配置 Web 服务器包和 PHP 处理模块的说明。

    数据库

    当连接到数据库时,PHP会创建一个连接并连接到它,所以数据库也必须正确配置,但一般来说,进程管理器有连接轮询这样的东西,它包含所有与数据库的连接并允许你有效地使用它们。尽管我认为在您的情况下这不会成为问题。

    • 2
  2. Geslot
    2020-10-16T19:23:06Z2020-10-16T19:23:06Z

    我怀疑你是怕数据插入不正确。立即想到两种情况:服务器崩溃或立即使用先前查询结果的查询。对于这两种情况,答案是一样的:如果处理程序中只有 1 个请求,那么您无需担心 - 即使服务器崩溃,MySQL 也会确保请求完全执行或未完全执行,但是如果你有一个查询块被执行,那么你可以使用transactions。

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5