当前位置:首页 > PHP > 正文内容

PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持

高老师8年前 (2019-03-24)PHP1978

重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。

/**
 * 获取应用根目录
 * @return string
 */
public static function getRootPath()
{
    if ('cli' == PHP_SAPI)
    {
        $scriptName = realpath($_SERVER['argv'][0]);
    }
    else
    {
        $scriptName = $_SERVER['SCRIPT_FILENAME'];
    }

    $path = realpath(dirname($scriptName));

    //返回
    return $path . DIRECTORY_SEPARATOR;
}

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/78.html

分享给朋友:

“PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持” 的相关文章

 PHP判断微信浏览器, PHP判断是否微信浏览器

PHP判断微信浏览器, PHP判断是否微信浏览器

获取浏览器信息原理是基于浏览器的UA信息,早在AsP时代就这样判断,但是腾讯总是喜欢自己折腾,不知道以后会修改成什么! 提取自人人商城官方自带的判断方法:function is_weiXin()  {    if (empty($_SERV...

编写php com组件,php调用.net dll,php源码保护

编写php com组件,php调用.net dll,php源码保护

开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php mcrypt扩展被废弃的解决方案

php mcrypt扩展被废弃的解决方案

使用openssl扩展对应替换mcrypt的函数,(比较麻烦,但是openssl是未来趋势)在新版php中编译mcrypt扩展使用一个纯php代码实现的mcrypt扩展库,git地址为https://github.com/phpseclib/mcrypt_compat,每个mcrypt的方法都已经实...

php爬虫执行js,php执行js

php爬虫执行js,php执行js

当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...

php生成器yield from详解

php生成器yield from详解

PHP7中,通过生成器委托(yield from),可以将其他生成器、可迭代的对象、数组委托给外层生成器。外层的生成器会先顺序 yield 委托出来的值,然后继续 yield 本身中定义的值。同时yield from也能获取到生成器的返回值...