После года разработки проект Peachpie (http://www.peachpie.io), в рамках которого развивается открытый компилятор из PHP в .NET, достиг (http://www.peachpie.io/2017/02/wordpress-announcement.html) возможности компиляции системы управления web-контентом WordPress. Код компилятора написан на языке C# и распространяется (https://github.com/iolevel/peachpie) под лицензией Apache 2.0. Проектом также разработан специальный runtime, полностью совместимый с runtime PHP 7.1, что позволяет запускать немодифиицированный WordPress поверх платформы .NET Core, без применения PHP.Среди причин создания компилятора PHP для платформы .NET называются:
- Желание получить более высокую производительность - скомпилированный код работает быстрее и может быть дополнительно оптмизирован при помощи .NET Jitter;- Возможность взаимодействия PHP-приложений с плагинами, написанными на C#, и библиотеками .NET;
- Поддержка кросс-компиляции PHP-кода в форму библиотек классов, которых можно использовать в проектах на C#;- Поддержка создания бинарных сборок, поставляемых в виде двоичных файлов без исходных текстов;
- Возможность выполнения проекта в системах без установленного интерпретатора PHP;
- Повышение безопасности за счёт выполнения в стандартном окружении .NET верифицированного кода, избавленного от небезопасных конструкций.
URL: http://www.peachpie.io/2017/02/wordpress-announcement.html
Новость: http://www.opennet.me/opennews/art.shtml?num=46115
>компилятор из PHP в .NETЭто вообще имеет особый смысл? Я даже говорю не о "православности" .NET, а о том за каких хреном пищу для одной виртуальной машины переводить в пищу для другой виртуальной машины.
В новости смысл описан. Не со всем согласен, но по отдельным позициям вполне.
По которым? Имхо:1. производительность - спорно, да и почему тогда Шарп, а не нативные бинарники, которые будут еще быстрее?
2. взаимодействие с плагинами и библиотеками дотНета - вместо взаимодействия с библиотеками и плагинами самого Пыха, которых для веба, насколько я понимаю, не меньше?
3. использование PHP-кода в проектах на C# - ну, будем серьезны...
4. замучивать исходники до нечитаемости и на самом Пыхе давно умеют, вообще-то
5. "в системах без установленного интерпретатора PHP" - это шедеврально. На реально существующих серверах это вообще-то встречается на несколько порядков реже, чем системы, где дотНета нет, не было и не надо
6. повышение безопасности - вообще шляпа. Безопасность остальной системы зависит не от кода, а от настройки системы. А безопасность внутренностей сайта невозможно обеспечить и при этом не переврать код на Пыхе до неработоспособности.
1. Потому что достаточно переконпилять существующие проекты, а шарп для винды это равносильно нативным бинарникам.
4. Деобфусцировать код тоже умеют. Больше способов разных и сложных.
5. А как же большинство виндовых серверов?
6. Я так понимаю, на дотнете можно используя специальные классы писать более защищенные приложения, которые будут урезаны необходимыми возможностями. В винде же нет selinux, cgroups и всяких других подсистем линукса. Бинарь опять же подписать можно.
Вот так, беглым анализом, мы быстренько дошли до единственной реальной цели этого цирка с конями: перетащить WP на винду. И кому же в здравом уме захочется прибавить к головной боли от WP геморрой от винды под ним? Имхо, тот редкий случай, когда лучше пренебречь "оптимизацией" и просто прикупить серверов. Дешевле выйдет...
А может быть притащить php в винду и винду в веб?
Ну там же буквально написано, запускать php там где нет его интерпретатора, но есть .net.
Ясно же что не о линуксе идет речь, где php всегда часть дистрибутива.
Декомпилировать шарп на порядок проще чем деобфусцировать хорошо обфусцированную пыху
>А как же большинство виндовых серверов?А они есть? Кто вообще держит виндовые сервера для веба? Ты же в первый же день схватишь очередную дырень.
ты из анабиоза?net core умеет в блобы без зависимостей.
собрал и положил на сервер. ничего устнанавливать не надо
Это как Resin, только .NET вместо Java
> Это вообще имеет особый смысл?Sep 27, 2010 - Microsoft and WordPress just announced that WordPress.com will become the default blogging platform for Windows Live.
ты почитай про проект внимательнее.
это не виртуальная машина а компилятор на основе Roslyn который делает байткод .NET как и C#т.е. php-ники могут конпелировать в полноценные .NET приложения
а С# только для написания экстеншенов останется
> полноценные .NET приложенияНельзя делить на ноль. Даже вендузятникам - нельзя.
Можно (даже нужно) страдать, переходить на красный свет, заплывать за буйки... А на ноль делить - нельзя.
Вместо того, чтоб закoпать это эхо нулевых (WP), они решили эту php/html лапшу научить прямо в бинарь... Впрочем, оно и к лучшему, двоичный код приятнее читать, чем исходники wp-проектов.
Выныривай из нулевых в текущую реальность:https://w3techs.com/technologies/overview/content_management...
Ну да, а еще все на венде сидят и ios хвалят.
Стата не делает wordpress менее убогим. Просто там не нужно осваивать синглпейджи и аяксы, из-за чего phpшникам (не путать с кодерами) проще и быстрее написать очередную свою поделку, которая будет рефрешить страницу на каждый чих.
Понятия не имею, как вообще люди этим пользуются в 2017м.
Лучше страница будет засрана явагвноскриптами, из-за которых кнопка "назад" не работает в принципе...
> осваивать синглпейджисомнительное достижение
> Понятия не имею, как вообще люди этим пользуются в 2017м.Когда уже молодёжь повзрослеет и поймёт, что на сайты заходят не за красивым дизайном а за информацией.
О чем это должно мне рассказать? О том, что до сих пор нормально ваять php/html лапшу? Надо сообщить ребятам из Laravel, что они маются хреновнёй.
А еще говорят, что если откомпилировать Битрикс в дотНет, то он при запуске свернет пространство и остановит время...
Врут. Просто покажут мультик...
На самом деле, нет.
Просто время начнёт отсчитываться с нуля, а человеки будут компилировать верёвку из травы и сухожилий животных.
> Возможность выполнения проекта в системах без установленного интерпретатора PHP;Только умалчивается сколько всего нужно вместо этого установить.
Это как "независимость от СУБД".> Повышение безопасности за счёт выполнения в стандартном окружении .NET
> верифицированного кода, избавленного от небезопасных конструкций.А святой водой ваш компилятор код не окропляет?
Святой водой окропляет мой кот, но мне не нравится, когда он это делает.
Лучше бы на Java портировали.
Зря вы так на .NET наехали. Его ведь доведут до вменяемого состояния и на Linux. А ребята из WordPress - просто смотрят в будущее! Платформа то поинтересней Java будет.
Ну да, есть mono. ОНО работает. И что? Портирование тормозов на линукс не сделает тормоза ни приятнее, ни кошернее.
И "ребята из WordPress" к упомянутому поделию отношения не имеют.
> Платформа то поинтересней Java будет.WAT
А где они видели плагины вордпресса, написанные на C#?? Надеются, что кто-то напишет? Ясно впрягают лошадь мордой к телеге...А "создания бинарных сборок, поставляемых в виде двоичных файлов без исходных текстов" - это ваще шедеврально...
Они вообще в курсе, что вордпресс под GPL v2+ распространяется??
WordPress лишь пример готовности компиляции больших и сложных PHP-проектов.
на PHP все можно писать
читайте внимателнее про проект - это компилятор для .NET
C# не нужен
Так в итоге и не понял, на хрена это. Попытка сделать второй HHVM? Так вроде с первым все уже всё поняли, нативный движок его догнал без особых ухищрений.
нет вы не правильно поняли
это компилятор в .NET байткод
как C# только пишете на PHP
потом собираете бинарь
аж интересно посмотреть, что там будет по скорости
только почему-то ихний сайт не открывается
теперь зомбаки-nokia.php со 100-кило писем в чам и под IIS :)
все работает под линукс
на .nET core
на https://github.com/aspnet/KestrelHttpServer
>Поддержка создания бинарных сборок, поставляемых в виде двоичных файлов без исходных текстов;Не нравится мне это.
Тут любители эксперементировать, говорят о бешенном приросте скорости в работе скомпилированного php кода под .net в определенных тестах: https://twitter.com/ben_a_adams/status/836589110529781761
Всё это естественно работает под линуксом.