我使用Apache 2.2.16在Windows盒子上安装了PHP 5.2.14(通过.msi安装)。安装附带了ext/php_mcrypt.dll和libmcrypt.dll,但当我在php.ini中取消extension=php_mcrypt.dll并重新启动Apache时,它不启用。Phpinfo()没有为它显示任何内容。我错过了什么?
更新:我查看了我的错误记录,它给了我这样的提示:
PHP警告:PHP启动:无法加载动态库'C:'PHP5'ext'php_mcrypt.dll' -指定的模块无法找到。'r'n在line 0
我读了一点关于这个,我没有任何php dll存储在windows32/文件夹,所以我很困惑。
其他答案有检查'ext'php_mcrypt.dll
是否存在并在php.ini
中启用扩展的必要步骤。除此之外,您需要将{Your-PHP-Root}'libmcrypt.dll
复制到{Your-Apache-Root}'bin
,然后重新启动apache,问题就解决了。
我通过一系列教程找到了答案:
- 将libmcrypt.dll添加到System32文件夹
- 取消php.ini中的include_path变量的注释,并将路径添加到ext
- 重新启动Apache
谢天谢地,不需要重新启动系统。无论上述一个还是两个都是必要的,现在加密功能已经不重要了。谢谢,每一个人。
您需要首先安装它,或者可能将到库的路由添加到您的windows PATH环境变量中,因为您正在windows上工作。试一试:http://www.php.net/manual/en/mcrypt.installation.php
(在这里你可以读到"如果你想在Windows上安装mcrypt,你也应该把libmcrypt.dll放在你系统的PATH中。")
如何设置或编辑环境变量:http://www.support.tabs3.com/main/R10463.htm