虽然PHP7.4带来了一个新扩展:PHP FFI,FFI提供了高级语言直接的互相调用,而对于PHP来说,FFI让我们可以方便的调用C语言写的各种库。但是这篇文章还是说一下传统的方式开发扩展遇到的一些问题
通过使用PHP为我们提供了生成基本代码的工具ext_skel
,生成一个扩展的基础代码,在增加代码并编译之后需要进行一些单元测试,在扩展目录的tests
文件夹中以phpt
结尾的文件
我们可以通过自带的run-test.php
脚本来执行phpt
文件,并且和脚本中的断言做比对
使用方式如下
php run-tests.php tests/001.phpt
001.phpt
是生成脚本自动生成的一个文件,用来测试扩展是否安装成功可用
但是当我们执行时却会发现报错了:
$ php run-tests.php tests/001.phpt
ERROR: environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!
遇到事情不要慌,打开谷歌翻译一下
就知道是必须设置环境变量TEST_PHP_EXECUTABLE
来指定PHP可执行文件
那么我们可以临时修改一下环境变量,执行
export TEST_PHP_EXECUTABLE=/usr/local/bin/php
替换对应的PHP可执行文件路径即可
也可以修改对应的配置文件,让它永久可以有效,这里就不说了,自行百度吧
phpt
文件完整格式参考PHP: Quality Assurance
好了,这篇水文到此结束 👿
水的有水平