我正在尝试使用 zend 从 php.ini 读取一些设置。我使用的 API 是
long zend_ini_long(char *name, uint name_length, int orig)
但它总是返回 0。我仔细检查了名称并确保我在 php.ini 中指定的值大于 0。我是否遗漏了什么?
最佳答案
long maxwait = zend_ini_long("max_execution_time",
sizeof("max_execution_time"), 0);
问题是 ZEND_STRL 没有返回适合此 API 预期使用方式的正确长度,所以不要使用它。
我应该补充一点,大多数由 PHP 内部维护的哈希表假设 NUL 终止符包含在被哈希的字符串的长度中(它是整体二进制安全概念的一部分),这就是我们使用 sizeof( ) 而不是 strlen() 或 sizeof()-1。
关于c - 使用 zend 读取 php.ini for PHP 扩展(不是 PHP 语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288525/