1 个稳定版本
使用旧的 Rust 2015
7.2.12 | 2019年1月29日 |
---|
#28 in #tested
在 php 中使用
13KB
233 代码行
php-sys
绑定到 php。
注意:我只测试了没有 ZTS 的情况。
PHP
为了编译 php-sys,我们需要开发头文件和 libphp7 库。这个库可能以 libphp7.so
或 libphp7.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