3

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

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

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

4

3 回答 3

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

问题是 ZEND_STRL 没有返回适合该 API 使用方式的正确长度,所以不要使用它。

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

于 2009-09-03T02:47:40.820 回答
0

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

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

于 2009-08-17T15:30:07.157 回答
0

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

例子:

ini_get('include_path');
于 2009-08-18T12:48:06.063 回答