每次开始前更改 cainfo 和 cafile PHP

Change cainfo and cafile before each start PHP

我有一个单独bin的动态程序,我需要在每个运行之前设置路径到curl-ca-bundle.crt,我尝试使用这个代码

$real_path = Helper::getBinDirectory() . '\curl-ca-bundle.crt';
ini_set('curl.cainfo', $real_path);
ini_set('openssl.cafile', $real_path);

Logger::getLogger()->log( ini_get('curl.cainfo'));
Logger::getLogger()->log(ini_get('openssl.cafile'));

输出的时候,ini_get给的是原来在php.ini写的路径,不是我通过ini_set写的。怎么办?

P.S。如果将 php.ini 中的路径更改为 $real_path 中的路径,一切正常

无法通过脚本配置这些值(curl.cainfoopenssl.cafile)。这些只能在 php.ini 或 httpd.conf 中更改。

这在以下 PHP 文档中有记录:https://www.php.net/manual/en/curl.configuration.php#ini.curl.cainfo https://www.php.net/manual/en/openssl.configuration.php

"Changable"列对应以下模式:https://www.php.net/manual/en/configuration.changes.modes.php