PHP Bambalam 和外部库

Posted

技术标签:

【中文标题】PHP Bambalam 和外部库【英文标题】:PHP Bambalam and External Libraries 【发布时间】:2014-06-26 16:33:10 【问题描述】:

我正在尝试使用 bambalam 来“编译”一个 php 文件,该文件使用了不久前内置于 PHP 中的 BCMATH 库。当我“编译”文件时,函数“bcpowmod”在运行时出错。我手动下载了 php_bcmath.dll 并将其包含在编译中,但我仍然得到一个错误..这次说明 DLL 无法从内存中加载。有人对这个有经验么?我完全不知所措。我也对其他编译器建议持开放态度....

C:\xampp\htdocs\proc>c:\Users\Mike\Desktop\bamcompile.exe -e:php_bcmath.dll test.php test.exe

Bambalam PHP EXE Compiler/Embedder 1.21

Mainfile: test.php
Outfile: test.exe

Encoding and embedding test.php
Embedding php_bcmath.dll and adding it to extension loader

test.exe created successfully!

C:\xampp\htdocs\proc>test.exe

**Warning: dl_memory(): Unable to load dynamic library 'PHP_BCMATH.DLL' - The specified module could not be found.in bambalam_init.php on line 1**

Fatal error: Call to undefined function:  bcpowmod() in C:\xampp\htdocs\proc\Mat
h\BigInteger.php on line 1700

C:\xampp\htdocs\proc>

【问题讨论】:

检查phpinfo() 看是否在PHP中启用了BC MATH 它是....当我在我的机器上使用本机 PHP 安装运行它时工作正常。我知道 bambalam 带有一个 bcmath 库...不知道为什么它会缺少一个功能... 缺少此功能的另一个机会是,您的 PHP 版本为 php.net/manual/en/function.bcpowmod.php Bambalam 使用 【参考方案1】:

正如评论中提到的,函数bcpowmod()在PHP 5之前不可用。因此必须使用替换函数,可用here。

【讨论】:

以上是关于PHP Bambalam 和外部库的主要内容,如果未能解决你的问题,请参考以下文章

PHP7扩展开发之引入外部so库遇到的问题

PHP7扩展开发之引入外部so库遇到的问题

Zend Framework 2 - 如何使用外部库

PHP安全:XML注入漏洞防护

关于外部库编译程序使用的问题

在我的控制器中使用外部类