使用 zend for PHP 扩展读取 php.ini(不是 PHP 语言)

发布于 2024-08-02 15:43:34 字数 194 浏览 10 评论 0原文

我正在尝试使用 zend 从 php.ini 读取一些设置。我使用的 API 是

long zend_ini_long(char *name, uint name_length, int orig)

但它总是返回 0。我已经仔细检查了名称,并确保我在 php.ini 中指定的值大于 0。有什么我遗漏的吗?

I am trying to read some settings from php.ini using zend. The API that I am using is

long zend_ini_long(char *name, uint name_length, int orig)

But it always returns 0. I have double checked the name and also made sure that the value I am specifying in php.ini is greater then 0. Is there anything I am missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

 long maxwait = zend_ini_long("max_execution_time",
     sizeof("max_execution_time"), 0);

问题是 ZEND_STRL 没有返回该 API 预期使用方式的正确长度,因此不要使用它。

我应该补充一点,PHP 内部维护的大多数哈希表都假设 NUL 终止符包含在被哈希的字符串的长度中(它是整个二进制安全概念的一部分),这就是为什么我们使用 sizeof() 而不是strlen() 或 sizeof()-1。

 long maxwait = zend_ini_long("max_execution_time",
     sizeof("max_execution_time"), 0);

The problem is that ZEND_STRL is not returning the right length for the way that this API is intended to be used, so don't use it.

I should add that most of the hash tables maintained internally by PHP assume that the NUL terminator character is included in the length of the string being hashed (its part of the overall binary safety concept), which is why we use sizeof() rather than strlen() or sizeof()-1.

冷月断魂刀 2024-08-09 15:43:34

您需要阅读 php.ini 文件吗?也许可以通过 phpinfo() 获得该信息?

但是,如果您一定要允许“www 用户”读取该文件吗?如果更改权限,它仍然返回 0 吗?

Do you need to read php.ini file? Maybe the information is available with phpinfo()?

But if you must are the "www user" allowed to read the file at all? If you change permissions does it still return 0?

江心雾 2024-08-09 15:43:34

您可以使用标准的 php 函数:ini_get('var-name');

例子:

ini_get('include_path');

You can use the standard php function: ini_get('var-name');

Example:

ini_get('include_path');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文