(1).在PHP中可以查看的环境变量包括:
(1.1).电脑环境变量
(2.1).服务器环境变量
(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询
//获取我电脑登录的用户名,输出Administrator
$username = getenv('USERNAME');
var_dump($username);(3).putenv()函数设置环境变量的值,设置后新增到服务器环境变量
//设置环境变量PHPUSERNAME的值为gaojiufeng
putenv('PHPUSERNAME=gaojiufeng');(4).为什么不用$_ENV['环境变量']数组形式来获取变量值?
默认php.ini没有开启环境变量,打印$_ENV是个空数组.官方对于默认不开启环境变量的说法是由于开启$_ENV,会导致一些性能损失.生产环境是不建议使用.更推荐使用getenv()函数来获取环境的值.如果非要开启环境变量,在php.ini中设置如下:
variables_order = "EGPCS"
(5).$_SERVER和$_ENV的区别
$_SERVER包含的是服务器环境变量,
$_ENV同时包含服务器环境变量和电脑环境变量
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
(1).学习目标: 了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习: (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...
(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...
php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){ //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...
第一次听说端口复用是在mixphp最新版本中发现的,mixphp启动监听9501端口,现在作者说可以多开几个进程来执行mixphp,我心里想了下再启动不是会端口冲突嘛,但是却没有问题,于是下载mixphp的源码解读,原来是启动http服务器使用new Co\Http\Server('0.0....
(1).今天遇到一件奇怪的事情,在event事件中是无法自定义异常处理,例如我们使用set_exception_handler来统一处理异常。例如下面的代码:<?php error_reporting(E_ALL); set_error_handler(function ($errn...