代码之家  ›  专栏  ›  技术社区  ›  quantumSoup

Windows上PHP插件的Env变量

  •  3
  • quantumSoup  · 技术社区  · 15 年前

    我在Windows上运行PHP。Windows上的PHP插件只是扩展文件夹中的DLL,我对配置这些插件几乎无能为力。

    例如,ADAP插件(OpenLDAP本身)的设置在运行时是我无法更改的。幸运的是,OpenLDAP允许我通过修改环境变量来更改其中的一些设置。我尝试在运行时通过添加以下两个选项来设置它们:

    // this apparently works on Linux
    putenv('VARIABLE=value');
    // tried this one as well
    $_ENV['VARIABLE'] = 'value';
    

    但那没用。我不得不将其添加到Windows的环境变量中(这确实有效),但这在后面太麻烦了,而且在我移动它时会破坏代码。有没有更好的办法,否则我就只好处理了?

    谢谢

    1 回复  |  直到 15 年前
        1
  •  0
  •   mario    15 年前

    尝试在加载dll扩展之前设置环境变量。也就是说,不要通过php.ini加载dll,而是使用putenv()和dl()。通常,DLL应该与主进程共享环境变量,但您永远不会知道。

    或者在.htaccess中使用 . 这至少对于Apache web服务器是可移植的。想想看,你也应该试试 如果您运行的是mod\u php而不是FastCGI版本。

    顺便说一句,putenv总是有PHP错误, http://bugs.php.net/50690 ,这里可能就是这样。