首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对phalanger使用mcrypt

对phalanger使用mcrypt
EN

Stack Overflow用户
提问于 2012-10-17 04:13:39
回答 3查看 586关注 0票数 0

如何使用像mcrypt这样的php扩展?我的第一个想法是找到mcrypt.php并简单地包含它(context.Include("mcrypt.php",false);),但这当然不存在,因为它是用C语言编写的。

我正在阅读博客上的Writing compiled PHP extensions in PHP帖子,但这似乎是关于创建您自己的扩展以在.net中使用。但考虑到这句话:“在PHP语言中实现Phalanger扩展。当你使用PHP库并使用Phalanger编译它时,结果是DLL可以像任何其他扩展一样工作”,这句话也许是错的。但就我所知,即使是phpc (phalanger php编译器)也不会编译c代码,尽管我没有尝试过。

这些是我的php类试图进行的调用: mcrypt_module_open mcrypt_enc_get_key_size mcrypt_enc_get_block_size

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-19 01:47:29

Jakub Míšek的回答绝对正确,如果这篇文章对你有帮助,请也投票支持他。然而,我想简化他说的话,因为他的建议仍然花了我一些时间来理解他说的话。也请Jakub,如果你有机会阅读这篇文章,如果我错了,请纠正我。

他的回答首先让我想到的是这个文件

php_mcrypt.mng

那是什么?但在深入研究他们的Phalanger svn和位于

C:\Program Files\Phalanger 3.0\Wrappers

我找到了mcrypt文件。在php聊天室的一些帮助下,我得到了关于mng是什么的线索,Managed Code

因此,在添加文件作为引用并编辑web.config文件以包含它之后(如Jakub所示)

代码语言:javascript
复制
  <phpNet>
    <classLibrary>
      <add assembly="php_mcrypt.mng, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="mcrypt" />
    </classLibrary>
    <scriptLibrary/>
  </phpNet>

在编译时(我认为/知道),这些代码行必须输入到Phalanger中才能加载这个扩展。

在那之后,一切似乎都编译和运行得很好!谢谢雅各布

票数 1
EN

Stack Overflow用户

发布于 2012-10-18 03:19:39

mcrypt尚未重新实现为托管Phalanger扩展...如果你知道一些开源的替代方案,我可以帮助你移植到Phalanger扩展。

现在,您可以使用原生替代方案(因此您必须在x86中运行)。只需打开您的.config ( web应用程序的web.config,或为桌面应用程序创建app.config ),然后添加以下内容

代码语言:javascript
复制
<phpNet>
    <classLibrary>
        <add assembly="php_mcrypt.mng, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="mcrypt" />
票数 1
EN

Stack Overflow用户

发布于 2012-10-17 04:55:02

安装和使用MCrypt并不是那么复杂。对于*nix用户,PHP.net提供了一个信息源in this page

但对于Windows来说,没有太多的信息。

然而,这也很简单。您只需从PHP二进制文件中复制libmcrypt.dll文件,将其保存在ext目录中并启用它:

代码语言:javascript
复制
extension=php_mcrypt.dll

注意:在WINDOWS环境下,PHP EXtensions通常被命名为php_,因此您必须重命名DLL或上面的PHP.INI行。

之后,重新启动Apache。

但在此之前,请先检查您的phpinfo(),因为有些包和/或发行版附带了一个预编译的静态MCrypt。

运行它并检查启用了MCrypt支持的with-mcrypt=static和/或mcrypt组

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12922689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档