PHP的运行方式(SAPI)

PHP 常量 PHP_SAPI 具有和 php_sapi_name() 相同的值。

1 define(‘IS_CGI‘,(0 === strpos(PHP_SAPI,‘cgi‘) || false !== strpos(PHP_SAPI,‘fcgi‘)) ? 1 : 0 );
2 define(‘IS_WIN‘,strstr(PHP_OS, ‘WIN‘) ? 1 : 0 );
3 define(‘IS_CLI‘,PHP_SAPI==‘cli‘? 1   :   0);

这段代码是ThinkPHP项目里Thinkphp.php文件判断运行环境模式。SAPI:Server Application Programming Interface 服务器端应用编程端口。SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi 、fast-cgi、cli、isapi、apache 模块的 DLL。

 

时间: 2024-12-28 12:02:37

PHP的运行方式(SAPI)的相关文章

php5.4 安装出现问题cp: cannot stat `sapi/cli/php.1': No such file or directory

在安装php5.4时出现下面的错误: 当make正常,但是使用make install出现错误:cp: cannot stat `sapi/cli/php.1': No such file or directory 解决的办法如下: make install fails -> cp: cannot stat sapi/cli/php.1: No such file So after doing some research I found the solution so just note to

Python的两种运行方式

从2015年5月19日注册博客园,立志于要通过写博客的方式,记录自己编程的点点滴滴,由于自己太懒,一直拖到现在,“拖延症”是病得改,今天终于写自己第一篇博客了,有点小激动! Python是由Guido van Rossum于1989年底发明的,1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者.国外人就是任性,

PHP内核学习(一)SAPI

学习PHP-src之前,我准备了一份源文件: GitHub下载->https://github.com/helingfeng/php-src 简单分析一下源码的目录结构: 1. root根目录下,包含项目的说明文件以及设计方案,大部分文件是必读的. 2. build顾名思义,放置一些和源码编译相关的文件,比如编译前脚本配置.环境监测等. 3. ext官方扩展,包含了绝大数PHP函数的定义和实现,包括date.pdo.ftp.curl等. 4. main 放置PHP核心文件,主要实现PHP的基础设

python程序的打开运行方式

python程序的运行方式大致可以分为两种,一种是直接通过python解释器直接解释型运行,另外一种是先把python程序编译为二进制文件再运行. .源代码 -python源代码的文件以"py" 为扩展名,由python程序解释,不需要编译; .字节代码 -python源文件经编译后生成的扩展名为"pyc"的文件; -编译方法- import py_compile py_compile.compile("hello.py") .优化代码 -经过优

SAPI

https://en.wikipedia.org/wiki/Server_Application_Programming_Interface In computing, Server Application Programming Interface (SAPI) is the direct module interface to web servers such as the Apache HTTP Server, Microsoft IIS, and Oracle iPlanet Web S

PHP内核:SAPI探秘

首先来张PHP的架构图: 什么SAPI? SAPI的中文译作:服务器端应用编程接口.它负责PHP与其他应用交互数据.这里的其他应用可能是shell或者apache等等.常见的SAPI有: CGI,Fast-cgi,CLI(for shell),isapi(for IIS),Embed(for c/c++)等等. 举例:当在Shell下(window下的command line)输入:php index.php 此时,由CLI这个SAPI负责将用户的请求处理.要定义一个SAPI,需要定义一个结构体

linux下安装php make: *** [sapi/cli/php] 错误 1 和 [ext/fileinfo/libmagic/apprentice.lo] Error 1的解决方法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff; min-height: 16.0px } span.s1 { } make: ***

Yarn源码分析之如何确定作业运行方式Uber or Non-Uber?

在MRAppMaster中,当MapReduce作业初始化时,它会通过作业状态机JobImpl中InitTransition的transition()方法,进行MapReduce作业初始化相关操作,而这其中就包括: 1.调用createSplits()方法,创建分片,并获取任务分片元数据信息TaskSplitMetaInfo数组taskSplitMetaInfo: 2.确定Map Task数目numMapTasks:分片元数据信息数组的长度,即有多少分片就有多少numMapTasks: 3.确定

将以管理员方式运行cmd运行方式放到win7任务栏

首先在桌面空白地方(没有桌面图标位置),点击鼠标右键,选择新建--快捷方式,如下图: 弹出创建快捷方式窗口,输入cmd.exe的路径及文件名,下图是天缘的Windows 7安装到C盘对应的cmd可执行文件地址C:\Windows\System32\cmd.exe,如果是其它驱动器相应修改,设置好点击下一步. 这里设置快捷方式的名称,比如cmd,或者采用默认的也可以,设置完成后,点击完成.如下图: 桌面上会生成一个cmd的快捷方式,如下图,我们再在cmd图标上,点击鼠标右键,选择属性. 如下图,选