我正在尝试使用 zend 从 php.ini 读取一些设置。我正在使用的 API 是
long zend_ini_long(char *name, uint name_length, int orig)
但它总是返回 0。我仔细检查了名称,并确保我在 php.ini 中指定的值大于 0。有什么我遗漏的吗?
我正在尝试使用 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。
你需要阅读 php.ini 文件吗?也许信息可通过phpinfo()获得?
但是,如果您必须允许“www 用户”读取文件吗?如果您更改权限,它仍然返回 0 吗?
您可以使用标准的 php 函数:ini_get('var-name');
例子:
ini_get('include_path');