美文网首页
php运行的运行模式

php运行的运行模式

作者: dark68 | 来源:发表于2021-05-16 22:27 被阅读0次

    1 cgi模式

    CGI 是一个协议,所以,PHP 有自己对 CGI 的实现,那就是 PHP-CGI。可是呢,随着技术的发展,人们开始意识到,PHP-CGI 的性能不是那么尽如人意。PHP 在运行的时候,是依赖配置文件 php.ini的。所以,每当 PHP-CGI 开始工作的时候,它是完完全全的一个新进程,它需要重新加载配置文件并初始化,这就造成了很大的资源和时间的浪费。
    那么怎么解决这个问题呢?

    2 fastcgi模式

    为什么不预先加载好配置,然后,每一个执行的任务只需要复制当前的进程,不就能避免上面的浪费了么。于是, FastCGI 便横空出世。
    FastCGI,全称 Fast Common Gateway Interface,中文译作“快速公共网管接口”。没错,这又是个协议。当然,这个协议并不是因为 PHP 才有的。

    apache

    对于 PHP 来说,httpd 是通过自身来实现一个 FastCGI 的模块的。它会预先加载好 php.ini 文件中的配置。待到有请求进入需要 PHP 处理时,PHP 就不需要再对 php.ini 重新加载了。这也就是每改动过 php.ini 后都要重启 httpd 服务的原因。

    nginx

    php-fpm 也是 FastCGI 的一种实现。通常我们是将 Nginx 的 PHP 处理部分代理到 php-fpm 的端口上,交给 php-fpm 来处理。而 php-fpm 同样是通过预先加载配置,然后给到子进程的方式的,它会对进程做一些管理。

    相关文章

      网友评论

          本文标题:php运行的运行模式

          本文链接:https://www.haomeiwen.com/subject/sffdjltx.html