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