thomaswelton / laravel-mcrypt-faker
允许在没有PHP Mcrypt扩展的情况下安装Laravel。提供使用OpenSSL的加密,或者完全禁用加密。
Requires
- php: >=5.4.0
- defuse/php-encryption: ~1.2
Provides
- ext-mcrypt: *
- ext-openssl: *
This package is auto-updated.
Last update: 2024-09-13 06:58:44 UTC
README
此包使用一种技巧来欺骗Composer认为您的系统已安装PHP Mcrypt扩展。允许您在共享主机或Mcrypt不存在的情况下安装Laravel。此外,它提供两个服务提供者 NoEncryptionServiceProvider
和 OpensslEncryptionServiceProvider
,用作 Illuminate\Encryption\EncryptionServiceProvider
的替代方案。
安装
通过composer安装到现有的Laravel项目中。
composer require thomaswelton/laravel-mcrypt-faker
如果您无法通过composer安装Laravel,因为未安装Mcrypt,则您需要手动添加此包。下载最新的Laravel源代码,并编辑 composer.json
,使您的require块如下所示。
"require": {
"thomaswelton/laravel-mcrypt-faker": "1.0.*",
"laravel/framework": "5.0.*"
}
运行 composer install
,这将安装此包以及Laravel框架。
更新加密服务提供者
在您的 config/app.php
文件中,从 providers
数组中删除 Illuminate\Encryption\EncryptionServiceProvider
,并将其替换为 Thomaswelton\LaravelMcryptFaker\NoEncryptionServiceProvider
或 Thomaswelton\LaravelMcryptFaker\OpensslEncryptionServiceProvider
。
还要更新 config/app.php
中的 cipher
,并将其设置为 null
,因为 MCRYPT_RIJNDAEL_128
是一个常量,在没有mcrypt的情况下不会定义。
警告 如同其名,NoEncryptionServiceProvider 提供完全无加密的应用程序... 完全不使用。在生产网站上不应使用。尽管 OpensslEncryptionServiceProvider
使用 defuse/php-encryption 包提供加密,但我个人无法证实其实现的安全性,尽管它“对我来说是有效的”。
OpenSSL加密密钥
要使用 OpensslEncryptionServiceProvider,您的应用程序密钥需要更新。可以通过运行 php artisan key:generate-openssl
来完成此操作。