php如何判断服务器的运行模式?如何理解PHP_SAPI?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
php
已知的服务器运行模式有好几种,大家最常用的就是使用fastcgi
模式搭配nginx
。在实际的编程工作中,会发现一些情况下,代码的运行走势和服务器运行模式有关。那么,就需要对php
实际的运行模式进行判断。
苏南大叔的“程序如此灵动”博客,记录苏南的代码经验和感悟。本文测试环境:win10
,nginx@1.15.11
,php@8.2.10-nts
。
判断运行模式
判断php
代码的服务器运行模式的方式,有两种。分别是:
- 常量
PHP_SAPI
。 - 函数
php_sapi_name()
。
测试代码:
var_dump(PHP_SAPI);
var_dump(php_sapi_name());
var_dump(PHP_VERSION);
nginx
+php
输出:
string(8) "cgi-fcgi"
string(8) "cgi-fcgi"
string(6) "8.2.10"
命令行模式的服务器,输出:
string(10) "cli-server"
string(10) "cli-server"
string(6) "8.2.10"
有哪些运行模式
目前共有五种运行模式。分别是:
cli-server
,也就是在命令行下面利用-S
跑起来的服务。fpm-fcgi
,这个最常见的在linux
下,搭配nginx
的配置模式。cgi-fcgi
,一般在windows
下,搭配iis
或者nginx
使用。apache2handler
,libphp.so
作为apache
的一个模块使用。phpdbg
。
题外话 server api
下面是线上服务器和本地测试服务器的server api
对比:
相关文章
- https://newsn.net/say/mac-php-apache-fpm.html
- https://newsn.net/say/mac-php-apache-mod.html
- https://newsn.net/say/php-www.html
- https://newsn.net/say/php-www-ini.html
- https://newsn.net/say/www-issue-so.html
- https://www.php.net/php_sapi_name
结束语
本文主要介绍php
的几种运行模式的检测方式,具体的每种模型下有何区别,待后续文章展开。
更多php
经验文章,请点击苏南大叔的php
相关博客文章:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。