Php 没有mcrypt,laravel能工作吗?

Php 没有mcrypt,laravel能工作吗?,php,laravel,mcrypt,Php,Laravel,Mcrypt,Laravel在本地工作得很好,但在服务器上我得到以下结果: Laravel需要Mcrypt PHP扩展 但是,我无法在服务器上安装mcrypt,因为我没有管理员权限。在我公司的服务器上安装模块的过程会非常痛苦,最好使用另一个框架。但是Laravel看起来是如此的现代和美丽,以至于我不得不问这个问题:在没有php mcrypt的情况下运行Laravel有可能吗 不,拉威尔真的需要MCrypt扩展。 但是,您可以要求主机提供商安装MCrypt扩展 如果您决定不使用Laravel,请查看Symfon

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

Laravel需要Mcrypt PHP扩展


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

不,拉威尔真的需要MCrypt扩展。 但是,您可以要求主机提供商安装MCrypt扩展

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

链接:

Symfony不要求安装此插件,但它需要以下插件(但我假设这些插件安装在每个主机提供商):

  • PHP>=5.3.3
  • 支持JSON
  • 需要安装ctype
  • php.ini需要date.timezone设置
我希望我能进一步帮助你:)


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

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

在通过composer安装后,默认情况下,Laravel仍将尝试调用mcrypt函数进行加密。但这可以通过创建您自己的不需要crypt的加密服务提供商来防止

我已经创建了这个包

您可以使用此选项禁用Laravel的加密,或者使用您可能已有的openssl加密


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

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


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

这个答案可能会误导别人。在没有mcrypt扩建的情况下,可以使laravel正常工作。看看下面的答案。更新版本的Laravel不再需要mcrypt。可以定制较旧版本的Laravel,这样您就可以用其他东西替换mcrypt