#php #bindings #macos #tested #libphp #php7

sys php-sys

libphp 的 Rust 绑定

1 个稳定版本

使用旧的 Rust 2015

7.2.12 2019年1月29日

#28 in #tested


php 中使用

MIT 许可证

13KB
233 代码行

php-sys

绑定到 php。

注意:我只测试了没有 ZTS 的情况。

PHP

为了编译 php-sys,我们需要开发头文件和 libphp7 库。这个库可能以 libphp7.solibphp7.a 的形式提供,具体取决于你如何安装/编译 PHP。

从软件包中

  • 对于 Ubuntu,请参阅 .travis.yml 中的 install 部分,获取命令。
  • 对于 Mac OS X,我没有找到一组工作的软件包。

从源代码中

一些关于如何安装 PHP 的基本说明,以便您可以将它嵌入到 Rust 中。

Mac OS X

我不得不使用 brew 来安装 bison。我相信 autoconf 和其他工具要么已经安装,要么由 Mac OS X 提供。Brew 安装了一些修改过的 libiconv 版本,这使得 PHP 迷惑。我也遇到了一些问题,所以我停止构建与 xml 相关的内容。要构建,我必须做

$ ./genfiles
$ ./buildconf --force
$ PATH="/usr/local/opt/bison/bin:$PATH" ./configure --enable-debug --enable-embed=static --without-iconv --disable-libxml --disable-dom --disable-xml --disable-simplexml --disable-xmlwriter --disable-xmlreader --without-pear
$ PATH="/usr/local/opt/bison/bin:$PATH" make
$ PATH="/usr/local/opt/bison/bin:$PATH" make test

注意:我在 Mac OS X 上嵌入了一个静态库。如果您想使用共享库嵌入 PHP,请使用 --enable-embed=shared

Linux

以下是需要的依赖项(以 apt-get 格式表示)

$ apt-get install git make gcc libxml2-dev autoconf bison valgrind clang re2c
$ ./genfiles
$ ./buildconf --force
$ ./configure --enable-debug --enable-embed=shared
$ make
$ make test

依赖项

~0–2MB
~37K SLoC