neoxia/laravel-openssl-encryption-42

Laravel 4 加密包,使用 PHP openssl 扩展

1.2 2014-07-23 00:18 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:12:33 UTC


README

Laravel 4 加密包,使用 PHP openssl 扩展。

它可以替代默认的 Laravel 4 加密核心包,后者使用 PHP mcrypt 扩展。

它被创建出来是为了在 Google App Engine for PHP 平台上运行 Laravel 4 应用程序,目前(2013年5月)该平台不支持 mcrypt 扩展。

安装

将 neoxia/laravel-openssl-encryption 包添加到您的 composer.json 文件中。

"require": {
	"laravel/framework": "4.0.*",
	"neoxia/laravel-openssl-encryption": "1.0.*"
},

安装此包。

$ php composer.phar install

app/config/app.php 文件中,注册 LaravelOpensslEncryptionServiceProvider 并注释默认的 EncryptionServiceProvider

'providers' => array(

	...
	//'Illuminate\Encryption\EncryptionServiceProvider',
	'Neoxia\LaravelOpensslEncryption\LaravelOpensslEncryptionServiceProvider',
	...

还有一件事...

目前,Laravel 4 会检查 PHP mcrypt 扩展是否已加载,如果没有则退出 !
所以,为了完成安装,我们必须绕过这个检查。
但遗憾的是,这个检查是在框架引导过程的中心,即 Illuminate\Foundation\start.php 脚本中进行的。

为了绕过这个检查,请按照以下方式更改 vendor\laravel\framework\src\Illuminate\Foundation 文件夹中的 start.php 脚本。

if ( false and ! extension_loaded('mcrypt'))
{
	die('Laravel requires the Mcrypt PHP extension.'.PHP_EOL);

	exit(1);
}