laravel可以在没有mcrypt的情况下工作吗?

时间:2014-07-02 08:25:43

标签: php laravel mcrypt

Laravel在本地运行良好,但在服务器上我得到以下内容:

  

Laravel需要Mcrypt PHP扩展。

但是我无法在我的服务器上安装mcrypt,因为我没有管理员权限。在我公司的服务器上安装模块的过程将是痛苦的,最好只使用另一个框架。但是Laravel看起来如此现代和美丽,以至于我不能不问这个问题:是否有可能在没有php-mcrypt的情况下运行Laravel?

3 个答案:

答案 0 :(得分:6)

不,Laravel真的需要MCrypt扩展。 但是,您可以要求您的托管服务提供商安装MCrypt扩展程序。

如果您决定不使用Laravel,请查看Symfony。 Symfony是另一个非常强大的框架,Laravel充分利用了Symfony的一些功能。

链接:http://symfony.com/

Symfony不需要安装此插件,但它需要以下插件(但我认为这些插件安装在每个托管服务提供商处):

  • PHP> = 5.3.3
  • 启用JSON
  • 需要安装ctype
  • php.ini需要date.timezone设置

我希望我能进一步帮助你:)

编辑:Laravel的新版本不需要Mcrypt!

答案 1 :(得分:2)

是的,Laravel composer.json文件声明你的应用程序需要ext-mcrypt,可以通过安装另一个包来声明它提供ext-mcrypt来伪造。

你已经通过了作曲家安装,默认情况下,Laravel仍然会尝试调用mcrypt函数进行加密。但是,可以通过创建不需要crypt的自己的加密服务提供程序来防止这种情况。

我创建了包https://github.com/thomaswelton/laravel-mcrypt-faker

您可以使用它来禁用Laravel的加密,或者使用您可能已经拥有的openssl加密。

请注意,生产应用程序根本不建议禁用加密。但是,如果您只是想在不安装mcrypt扩展程序的情况下使用Laravel,或者您可以使用openssl扩展程序,那么该程序包可能会很有用。

答案 2 :(得分:0)

现在可以在错误的环境中安装依赖项

安装和更新命令的新--ignore-platform-reqs标志允许您安装依赖项,即使您有错误的php版本或缺少所需的php扩展之一。它并不是真的值得推荐,但是如果你想在VM之外运行composer并且你只在运行代码的VM中安装了正确的扩展,它有时会很有用。