安装Composer时报错putenv缺失怎么办
宝塔面板安装Composer报错 putenv缺失一般会提示这个Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv() in phar://D:/composer/…
根据报错提示 putenv() 函数未定义。这是因为宝塔面板默认禁用了该函数,解除禁用即可。
我们进入宝塔禁用函数管理,把禁用删除,然后解决了。
如果不是不同面板,直接找到php.ini删除就可以
如果报错 PHP Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv()
查找php位置 php .ini
.用文本编辑器打开该 php.ini 文件。
搜索 disable_functions 指令。如果 putenv 出现在该列表中,请将其删除。
即可正常使用
putenv是用来改变或增加 环境变量的内容。
getenv 的功能是取得一个指定的环境变量。
getenv('REMOTE_ADDR') 和 $_SERVER['REMOTE_ADDR'] 功能一样
但是当Web服务器API是ASAPI (IIS)的时候,getenv函数是不起作用的。这种情况下你如果用getenv来取得用户客户端ip的话,得到的将是错误的ip地址。
[ 测试代码 ]
$ip1 = $_SERVER['REMOTE_ADDR'];
$ip2 = getenv('REMOTE_ADDR');
putenv("test=is a test");
$str1 = getenv('test');
$str2 = $_SERVER['test'];
echo "ip1:{$ip1}";
echo "<br>";
echo "ip2:{$ip2}";
echo "<br>";
echo "str:{$str1}";
echo "<br>";
echo "str:{$str2}";
总结:putenv 可以设置一个新的环境变量但是从 $_SERVER 这个超全局数组中是看不到的,getenv 可以获取 $_SERVER 里面的成员