可以在没有加密的情况下工作


Can laravel work without mcrypt?

Laravel在本地工作得很好,但在服务器上我得到以下内容:

Laravel需要Mcrypt PHP扩展。

然而,我不能在我的服务器上安装加密,因为我没有管理员权限。在我公司的服务器上安装模块的过程将是非常痛苦的,最好是用另一个框架来代替。但Laravel看起来如此现代和美丽,我不能不问这个问题:有没有可能在没有php- crypt的情况下运行Laravel ?

不,Laravel确实需要MCrypt扩展。但是,您可以要求您的主机提供商安装MCrypt扩展。

如果你决定不使用Laravel,可以看看Symfony。Symfony是另一个非常强大的框架,Laravel使用了Symfony的很多特性。

链接:http://symfony.com/

Symfony不需要安装这个插件,但是它需要以下插件(但我假设每个托管提供商都安装了这些插件):

  • php>= 5.3.3
  • <
  • JSON启用/gh>
  • ctype需要安装
  • php.ini需要日期。时区设置

我希望我对你有帮助:)

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

是的,Laravel作曲家。Json文件声明您的应用程序需要ext-mcrypt,这可以通过安装另一个包来伪造,该包声明它提供ext-mcrypt。

如果你已经完成了编译器的安装,默认情况下Laravel仍然会尝试调用mcrypt函数进行加密。但这可以通过创建自己的不需要crypt的加密服务提供商来防止。

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

你可以使用这个来禁用Laravel的加密,或者使用你已经可用的openssl加密。

注意,不建议对生产应用程序禁用加密。但是当你只是想在没有安装mcrypt扩展的情况下玩Laravel,或者你有openssl扩展可用时,这个包可能很有用。

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

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