使用mcrypt启用或编译PHP?

时间:2011-11-24 03:44:17

标签: php phpmyadmin mcrypt

phpMyAdmin表示缺少mcrypt扩展名。我有php_mcrypt.dll(在ext文件夹中)和libmcrypt.dll(在PHP根文件夹中),我确实启用了

extension=php_mcrypt.dll
php.ini文件中的

,虽然phpMyAdmin仍在声明它缺少它。

现在我想知道,是启用还是未启用? documentation表示你必须用mcrypt编译PHP,究竟是怎么做到的?

我确实下载了libmcrypt-2.5.8,但是我没有看到任何可以安装的文件。

3 个答案:

答案 0 :(得分:1)

在* .MSI安装程序中包含的PHP / 5.3.8二进制文件中,您应该已经拥有Mcrypt扩展,因为它捆绑了您甚至无法删除的扩展的静态版本(因为没有单独的DLL)。如果php_mcrypt.dll目录中有ext个文件,PHP根目录中有libmcrypt.dll个文件,extension=php_mcrypt.dll文件中有php.ini行,则可能是保留其他一些旧版本。

phpinfo()输出中,您应该拥有以下信息:

  

构建日期:2011年8月23日11:47:20
编译:MSVC9(Visual C ++ 2008)
  架构:x86

     

配置命令

cscript / nologo configure.js   “--enable-snapshot-build”“ - disable-isapi”“ - enable-debug-pack”   “--disable-isapi”“ - without-mssql”“ - without-pdo-mssql”   “--without-Pi3Web服务器”   “--with-PDO-OCI = d:\ PHP-SDK \ ORACLE \ instantclient10 \ SDK,共享”   “--with-OCI8 = d:\ PHP-SDK \ ORACLE \ instantclient10 \ SDK,共享”   “--with-oci8-11g = d:\ PHP-SDK \ ORACLE \ instantclient11 \ SDK,共享”   “--enable-object-out-dir = .. / obj /”“ - enable-com-dotnet”   “ - with-mcrypt = static”“ - disable-static-analyze”

     

已注册的流过滤器

convert.iconv。 mcrypt。 ,mdecrypt。* ,   string.rot13,string.toupper,string.tolower,string.strip_tags,   convert。,consume,dechunk,zlib。

...以及标题为 mycrypt 的完整表格。

我的建议是备份您的设置,从控制面板卸载PHP,删除PHP目录中剩下的内容并执行全新安装。

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以通过检查phpinfo函数的输出

来检查是否已安装/启用库

创建一个名为phpinfo.php的文件,添加以下内容。

<?php

echo phpinfo();

?>

检查浏览器的输出。

要使用mcrypt支持编译php,你必须在从源代码安装php时传递选项--with-mcrypt(不确定这是正确的,但你可以通过发出./configure --help命令找到)。

然后重启你的apache服务器。

现在通过检查phpinfo的输出来确认。

更新:

我在Windows中没有真正的php经验。请试试link

干杯