Что означает ошибка “аргумент типа ”size_t“ несовместим с параметром типа ”zend_string *"?

333
20 апреля 2017, 18:26

До сих пор переезжаю на PHP7, перенося некоторые расширения.

В одном имеется такой код:

if ((zend_hash_update (&module_registry, module_entry->name, strlen(module_entry->name), tmp)) == NULL)

На этот аргумент module_entry->name

он ругается так:

аргумент типа "const char *" несовместим с параметром типа "zval *"

Сам module_entry имеет тип zend_module_entry *

Ну ладно, думаю, переназначу его как (size_t) module_entry->name, однако при этом он ругается как

аргумент типа "size_t" несовместим с параметром типа "zend_string *"

Как же это не совместим, если я сую ему что ему надо, а он требует уже другое? Или это я уже устал?)

P. S. Из каких-то сорцов выдрал такую вот функцию:

zend_string *str = zval_get_string (module_entry->name);

Но она принимает только zval * в качестве аргумента, да и проблему не решает...

READ ALSO
Привязать объект к элементу через php

Привязать объект к элементу через php

Через $_GET['rasdel'] получаю значение разделаРаздел может являться подразделом какого-то другого раздела и привязан к определенному пункту меню

295
Вывести из базы mysqli строки в переменную

Вывести из базы mysqli строки в переменную

Основная страница layoutphp:

258
Загрузка сайта Yii2 на хостинг

Загрузка сайта Yii2 на хостинг

Возникла такая проблемаПри загрузки frontent файлов на сервер, при обработки запроса выводит такую ошибку:

538
PHPExcel не видит ячейку

PHPExcel не видит ячейку

Беру значения из колонки G (колонка 6), запихиваю всё в массив

365