169 похожих чатов

Мой PHP, в отличие от вашего, компилирует каждый файл (ну

или eval) в байт-код, размещает в памяти, исполняет на виртуальной машине
а еще держит пул заранее запущенных процессов (fpm)

как вы добиваетесь того, что ваш PHP выполняет инструкции построчно? как??

18 ответов

21 просмотр

И? Это всё так же разговор о конкретной реализации

Дмитрий-Елисеев Автор вопроса

Ну так PHP у вас в fpm компилируемый или интерпретируемый язык?

Когда он пишет "мой ПХП", он имеет ввиду дефолтную реализацию и с иронией намекает на то, что у его оппонента другой пхп, если в нём таки всё "построчно" и без перевода в байт-код.

Вы это у Альберта спрашивайте. Он же спорить начал, а не я. Он считает, что есть компилятор и значит о интерпретаторе нельзя говорить, если я верно понял текущий наезд в этом чате.

Дмитрий-Елисеев Автор вопроса

Суть в том, что "его PHP" в fpm считается компилируемым только потому, что он перегоняется в байт-код, а не читается из php-файла интерпретатором построчно. А на то, что этот байт-код дальше интерпретируется виртуалкой он внимания не обращает. Это как сказать "Мой PHP компилируется в Perl, значит компилируемый, а не интерпретируемый. А то, что у меня Perl потом построчно интерпретируется мне пофиг."

Мне кажется, что в этом сообщение делается вывод, что если пыха не компилируемая, то она интерпретируемая. И наоборот. Да? Не кажется ли, что так не должно быть?

Я могу единственную реализацию пхп сделать артефакт который будет запускаться и работать без пхп? Вроде нет.

Если только этот PHP не будет создавать на выходе exe или so бинарный файл ))

Можно схитрить зашив пхп и код в обёртку. Такой себе рантайм внутри приложения. Но, полагаю, ты сочтёшь это неприемлемым)

Но exe so нужна операционная система, хммм

Как и другим бинарям, мало кто пишет код пользуясь только API из BIOS ))

Скорее процессор, мне кажется.

Ну я к тому что пока мы это не можем пхп интерпретируемый язык.

И доступ к железу напрямую она не даёт (только под присмотром), и инструкции всеравно где-то там конвертятся в сигналы и перемешиваются...

Ну вот шарп подобным образом хитрит (если я не ошибаюсь). Он компилируемый или интерпритируемый? Или и то, и другое одновременно (относительно конкретного бинаря)? Я вот затрудняюсь ответить.

Если мой доклад сегодня смотрели - я там показывал как машинный код из PHP определять и вызывать, так что граница становится размытой

Так а я не против если пхп назовут и тем и другим одновременно. Мне не нравится категорична я формулировка что пхп это не интерпретатор.

+

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта