判断 php 程序是通过什么方式运行的 (浏览器,还是命令行)

php 程序既可以通过浏览器来访问(一般是 apache、nginx等服务器),

也可以通过命令行来直接运行(cli 执行)

如果需要判断 当前程序是以何种方式来执行,应该怎样判断呢,使用:php_sapi_name() 方法,

示例:

<?php

    function is_cli_mode() {
        $sapi_type = php_sapi_name();
        if (isset($sapi_type) && substr($sapi_type, 0, 3) == ‘cli‘) {
            return true;
        } else {
            return false;
        }
    }

    // main logic
    if (is_cli_mode()) {
        echo ‘It is using cli.‘;
    }
    else {
        echo ‘It is using other mode.‘;
    }

参考:http://php.net/manual/en/function.php-sapi-name.php

原文地址:https://www.cnblogs.com/tommy-huang/p/9595674.html

时间: 2024-08-29 21:38:52

判断 php 程序是通过什么方式运行的 (浏览器,还是命令行)的相关文章

第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数

MonkeyRunnerStarter是MonkeyRunner启动时的入口类,因为它里面包含了main方法.它的整个启动过程主要做了以下几件事情: 解析用户启动MonkeyRunner时从命令行传输进来的参数: 因为MonkeyRunner需要根据指定的参数才能做事情,比如输入的一个需要执行的脚本.如果确实不知道任何参数的话它就会进入MonkeyRunner的交互模式,其实就是Jythong的交互模式,让用户可以边写代码边执行 启动AndroidDebugBridge: 其实就是启动ADB服务

cmd下运行db2---DB21061E 未初始化命令行环境

在windows的cmd下是不可以直接运行db2命令的.如果你直接在cmd下键入db2,会报错,"DB21061E  未初始化命令行环境 ". 解决方式是键入db2cmd,然后你再键入db2就可以了. 其实有一部分软件在安装的时候都要设置环境变量的,只不过大部分都是软件自动添加环境变量了,对用户来讲是不需要额外的操作的.但也有一些是要自己设置的. 比如在装jdk的时候,就要自己设置环境变量了. 而db2,oracle等等不需要自己设置,我们在"我的电脑----属性----高级

.net程序部署(mono方式)

某一次 我同事用了这个词 ,说这样才显得够专业 擦.把某某项目 部署到服务器上 .擦 不就是拷个文件过去运行么.月亮 还是绵羊  我搞不清楚了 咱英文不好,绵羊叫的声音?.你就叫我山寨程序猿 随意 一直就这风格. mono 是一种基于.NET Framework的开放源代码平台. 安装文件在此地址下载 http://www.go-mono.com/mono-downloads/download.html 经证实 安装过后直接 把 moon.exe  和相关目录 直接 拷走 然后运行也是可以的,所

Win7下判断当前进程是否以管理员身份运行

判断当前程序是否以管理员身份运行,代码如下: #include <iostream> #include <windows.h> using namespace std; // 判断当前程序是否以管理员身份运行. bool IsProcessRunAsAdmin() { SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; PSID AdministratorsGroup; BOOL ret= AllocateAn

06、部署Spark程序到集群上运行

06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改代码中文件加载路径为hdfs路径: ... //指定hdfs路径 sc.textFile("hdfs://mycluster/user/centos/1.txt") ... ? 修改master地址 SparkConf中需要指定master地址,如果是集群上运行,也可以不指定,运行时可以通

解决cordova命令行方式下build或者run的时候报错问题

phonegap3.0之后就将项目的生成方式做了很大的更改,原来是在eclipse里面修改生成并编译运行,但是3.0之后它的目录结构发生了很大变化,只修改主目录下面的index.html如果不build的话有时候是不起作用的,因为它的platform文件夹中还有各个平台的目录.比如安卓和IOS,在主目录www下面修改index.html之后必须要build才能生效,否则很多时候你会发现修改了不起作用,这是因为在assets目录下还有个www文件夹,真正运行的是这个文件夹下面的index.html

JNI之——在cmd命令行下编译运行C/C++源文件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来写程序,java配置好jre路径之后,在cmd下编译运行,很方便. 刚好要给一个舍友改下C程序,想到可不可以像java一样在环境变量里配置好C的编译路径呢? 于是上网搜了一下,得到如下结果: 一.如果装有VC,那就简单了,因为VC带有C的编译器,可以将此路径设置进环境变量. Windows系统下编译连接源代码方法: cl -GX test.c -GX

详解NodeJS和命令行程序

源起 植根于Unix系统环境下的程序,很多都把贯彻Unix系统设计的哲学作为一种追求.Unix系统管道机制的发明者Douglas McIlroy把Unix哲学总结为三点: 专注做一件事,并做到极致.程序协同工作.面向通用接口,如文本数据流.随着Unix/Linux系统在服务器上影响力越发强大,以及各种跨平台解决方案的发展,这种哲学也被带到了各种平台上.若干年前,笔者第一次接触NodeJS和其包管理解决方案NPM时候,就感觉到其官方倡导的风格,和Unix系统哲学非常契合.近年来,随着NodeJS在

用什么库写 Python 命令行程序?看这一篇就够了

作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变. 本文作为本次旅程的终点,希望从一个更高的视角对这些库进行横向对比,总结它们的异同点和使用场景,以期在应对不同