Вопросы по теме 'php-internals'

Расширение PHP Zend Engine и статические методы
При написании расширения для php (5.3) я хочу получить доступ к указателю zend_class_entry в статическом методе. В нестатических методах я могу использовать макрос getThis() и внутри макроса Z_OBJCE_P следующим образом: zend_class_entry...
759 просмотров
schedule 03.12.2022

Написание кода операции PHP и его выполнение. Как сделать?
Как я могу написать код операции PHP , сохранить его в файле и заставить Zend Engine выполнить его? Приветствуется любой метод или хак, если он помогает.
2205 просмотров
schedule 21.12.2022

как код операции PHP связан с фактически исполняемым двоичным кодом?
test.php в виде обычного текста: <?php $x = "a"; echo $x; test.php в качестве кода операции: debian:~ php -d vld.active=1 -d vld.execute=0 -f test.php Finding entry points Branch analysis from position: 0 Return found filename:...
1503 просмотров

Сделать ZVAL постоянным в SAPI?
ZVAL обычно создается с помощью emalloc, поэтому он уничтожается в конце запроса страницы. Есть ли способ взять существующий ZVAL и сохранить его в SAPI (эквивалент pemalloc)? Как насчет создания ZVAL с помощью pemalloc? В идеале я хотел бы...
337 просмотров
schedule 04.02.2023

Почему отсутствующие требуют/включают вызов error_handler в дополнительное время?
У меня есть собственный обработчик ошибок, настроенный с помощью set_error_handler . Когда я попытался включить файл, которого не существует, PHP вызывает error_handler еще раз, чем должен: <?php error_reporting(E_ALL | E_STRICT);...
442 просмотров
schedule 14.03.2022

PHP игнорирует возвращенную ссылку из функции, которая считается вредной?
У Дерика Ретанса есть старая статья , в которой говорится: Обратите внимание, что не принимать ссылку от функции, которая возвращает ссылку, вредно. В некоторых случаях PHP будет путаться и вызывать повреждения памяти, которые очень трудно...
155 просмотров
schedule 13.03.2023

Как обновить параметры функции PHP для работы с новым Zend API?
Я работаю над расширением php, чтобы обновить его до PHP7, мой вопрос касается INTERNAL_FUNCTION_PARAMETERS . В предыдущей версии он определяется как: INTERNAL_FUNCTION_PARAMETERS int ht, zval *return_value, zval **return_value_ptr, zval...
1066 просмотров
schedule 03.06.2024

Расширение Zend php7: refcount для переменной стека?
Что произойдет с подсчетом ссылок в следующем коде c для php7? В php7 zval создаются в стеке, поэтому возникают проблемы со ссылками: zval destination; array_init(destination); { // scope begin zval val; // does val's refcount...
222 просмотров
schedule 26.07.2023

Читает ли PHP функции перед их вызовом?
Я объявляю 100 функций, но фактически не вызываю ни одну из них. Повлияет ли такое количество определенных функций на время загрузки? Обрабатывает ли PHP эти функции до их вызова?
746 просмотров
schedule 23.03.2023

Почему php разрешает недопустимые декларации возвращаемого типа, которые, как он знает, он не может разрешить?
Насколько я могу судить, у php есть возможность предотвратить объявление возвращаемого типа, если он знает, что это проблематично. class Foo { public function __clone(): Baz { return new Baz; } } class Baz { } $foo = new Foo;...
203 просмотров
schedule 29.12.2022