(PECL bcompiler >= 0.4)
bcompiler_write_exe_footer — 写入开始位置以及 exe 类型文件的结尾信号
$filehandle
, int $startpos
) : bool一个 EXE(或可自执行)文件由 3 部分组成:
为了得到适合的 stub 你可以编译位于 bcompiler CVS examples/embed 目录里 基于 php_embed 的 stub phpe.c。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 bcompiler_write_exe_footer() 例子
<?php
/* 创建输出的文件(example.exe) */
$fh = fopen("example.exe", "w");
/* 1) 写入一个 stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);
/* 2) 写入字节码 */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);
/* 3) 写入 EXE 尾部 */
bcompiler_write_exe_footer($fh, $startpos);
/* 关闭输出的文件 */
fclose($fh);
?>
此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。