当前位置:编程学习 > php >>

安装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 里面的成员

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,