编程语言
首页 > 编程语言> > c-使用zend读取PHP.ini以进行PHP扩展(不是PHP语言)

c-使用zend读取PHP.ini以进行PHP扩展(不是PHP语言)

作者:互联网

我正在尝试使用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-internals,php-extension,c-3,windows,php
来源: https://codeday.me/bug/20191210/2102357.html