Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KPHP #852

Open
guanhui07 opened this issue Nov 27, 2024 · 0 comments
Open

KPHP #852

guanhui07 opened this issue Nov 27, 2024 · 0 comments
Labels

Comments

@guanhui07
Copy link
Owner

guanhui07 commented Nov 27, 2024

俄罗斯人 搞的 kphp将php 编译为二进制 执行
兼容了大部分常用函数

首先,KPHP 是一个编译器。它会分析你的整个项目并将其编译为单个 Linux 二进制文件。

更详细地说,KPHP 将 PHP 源代码转换为 C++ 等效代码,然后编译/链接生成的 C++ 代码。可编译性的局限性源于 C++ — 它们与所有编译语言类似。

在 PHP 中,如果您的代码出现错误 — 只有在执行点到达该行时您才会看到它。
在 KPHP 中,您必须修复所有错误后才能构建网站。

在 PHP 中,符号在执行时解析。如果您忘记了require_once,PHP 将失败。您可以在脚本中间定义() 。类是动态自动加载的。
在 KPHP 中,所有符号都在编译时解析。您可以从任何地方调用任何现有函数 - 它只是存在。所有常量都是内联的,它们不会动态出现。提前知道类的完整列表。

编译由单个命令调用:

kphp [options] index.php

编译后,您将获得一个./kphp_out/server二进制文件。我们在编译示例脚本时已经看到过这一点。
停止 PHP 服务器并在同一端口启动 KPHP 二进制文件。

kphp 内置了 http

./kphp_out/server -H 8080 -f 1

更多编译参数 https://vkcom.github.io/kphp/kphp-language/kphp-vs-php/compiler-cmd-options.html

使用注意 https://vkcom.github.io/kphp/kphp-language/kphp-vs-php/kphp-vs-php-differences.html

https://github.com/VKCOM/kphp

https://vkcom.github.io/kphp/kphp-basics/quickstart-new-project.html

@guanhui07 guanhui07 added the php label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant