TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 months ago | |
|---|---|---|
| .claude/plans | 2 months ago | |
| .github | 3 months ago | |
| bin | 2 months ago | |
| cases | 1 year ago | |
| debug | 2 months ago | |
| docs | 2 months ago | |
| examples | 2 months ago | |
| perf | 3 months ago | |
| phpunit | 2 months ago | |
| src | 2 months ago | |
| tests | 2 months ago | |
| web | 3 years ago | |
| .clang-format | 8 months ago | |
| .gitignore | 3 months ago | |
| .php-cs-fixer.dist.php | 4 months ago | |
| CLAUDE.md | 3 months ago | |
| LICENSE.md | 4 months ago | |
| README.md | 3 months ago | |
| ast.py | 8 months ago | |
| clean-elf.sh | 2 months ago | |
| cli.php | 4 months ago | |
| composer.json | 2 months ago | |
| composer.lock | 2 months ago | |
| conv.php | 3 years ago | |
| dump.py | 3 years ago | |
| package-on-windows.php | 4 months ago | |
| package.json | 4 months ago | |
| package.sh | 2 months ago | |
| phpunit.xml | 5 months ago | |
| project.yml | 3 months ago | |
| py2php.php | 3 years ago | |
| rounds.txt | 8 months ago | |
| run-tests.php | 2 months ago | |
| swoole-logo.ico | 4 months ago | |
| swoole-logo.svg | 4 months ago | |
| version.txt | 2 months ago | |
README.md
依赖
- 需要 PHP-8.2 以上版本
- 需要 GCC-9 以上版本,支持 C++17 标准
- 需要 CMake-3.24 以上版本
- 需要高精度数学库:
GMP、MPFR、libmpdec
# Ubuntu/Debian
sudo apt install libgmp-dev libmpfr-dev libmpdec-dev
# RHEL/CentOS/Fedora
sudo dnf install gmp-devel mpfr-devel libmpdec-devel
# Arch Linux
sudo pacman -S gmp mpfr mpdecimal
GMP 用于
BigInt任意精度整数,MPFR 用于BigFloat高精度浮点数,libmpdec 用于Decimal十进制高精度小数。
预览版目前仅支持
Linux系统,建议使用Ubuntu 22.04
PHP
必须包含 embed 模块
PHPX
可使用 composer install 安装依赖。
进入 vendor/swoole/phpx 目录,编译 phpx
cd vendor/swoole/phpx
cmake .
make -j32
动态链接库
sudo ldconfig -p | grep php
必须包含 libphp.so 和 libphpx.so
若编译完成,但找不到动态链接库,需要修改
vim /etc/ld.so.conf.d/swoole.conf
添加路径
/home/swoole/workspace/projects/phpx/lib
/opt/php-8.4/lib/