В чем разница между расширением и расширением zend в php.Ини?
когда я установил Xdebug через pecl
Он добавил следующую строку в мой PHP.ini-файл.
extension="xdebug.so"
и все, что я раньше работал. До сегодняшнего дня.
сегодня у меня возникли проблемы с настройкой Xdebug для интерактивной отладки. Я не мог заставить ничего работать, пока я не изменил выше на
zend_extension="/usr/local/lib/php/extensions/xdebug.so"
(Нюанс: Я думаю это то, что я работаю, но я не уверен на 100%)
это подняло вопрос в моем уме. В чем разница при загрузке расширения через extension=
и zend_extension
?
2 ответов
в основе языка PHP (больше похожего на интерпретатор, потому что язык - это просто спецификация) лежит программное обеспечение (интерпретатор, компилятор байт-кода) под названием "Zend Engine", разработанное Zend.
каждый модуль, который возится с этим ядром, должен быть установлен как "zend_extension".
и все же, чтобы решить вашу проблему, проигнорируйте эту попытку объяснения и обратитесь к документам расширения, которое вы настраиваете - http://www.xdebug.org/docs/install.
Zend_extentions принадлежат к расширениям, которые встроены в сам движок zend. PHP, который встроен в сам движок zend. Этот движок анализирует, интерпретирует и выполняет PHP-скрипт. Если мы изменим движок, это изменит способ работы PHP.
следующее сообщение будет описывать основное различие между расширением и zend_extension php
оба вида расширения разделяют много вещей. Разница между обоими типами в основном в крючках, которые они регистрируют в двигатель. Помните, что, несмотря на это очень редко, расширение может быть одновременно расширением PHP и расширением Zend. Xdebug-хороший пример.
найти ниже изображение для основной схемы