2017-08-07 54 views
0

我移动Laravel应用到另一台服务器,而这样做:Laravel加密错误

  1. 一切复制到新的服务器。
  2. 更新了database.php文件。
  3. 将所有出现的收益更改为_yield。

但现在我陷入“服务器错误:500(内部服务器错误)”。

在与Laravel长时间的周末战斗之后,我发现在哪里打开日志并显示错误。这是它显示:

Unhandled Exception 

Message: 

mcrypt_encrypt(): Key of size 22 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported Location: 

/home3/l7o1c5g8/public_html/laravel/crypter.php on line 40 Stack Trace: 

#0 /home3/l7o1c5g8/public_html/laravel/laravel.php(40): Laravel\Error::native(2, 'mcrypt_encrypt(...', '/home3/l7o1c5g8...', 40) 
#1 [internal function]: Laravel{closure}(2, 'mcrypt_encrypt(...', '/home3/l7o1c5g8...', 40, Array) 
#2 /home3/l7o1c5g8/public_html/laravel/crypter.php(40): mcrypt_encrypt('rijndael-256', 'YourSecretKeyGo...', 'a:3:{s:2:"id";s...', 'cbc', '5E\x9B ]\xBE\x97Yb\x98J\xD7|\xCA\x90...') 
#3 /home3/l7o1c5g8/public_html/laravel/session/drivers/cookie.php(40): Laravel\Crypter::encrypt('a:3:{s:2:"id";s...') 
#4 /home3/l7o1c5g8/public_html/laravel/session/payload.php(293): Laravel\Session\Drivers\Cookie->save(Array, Array, false) 
#5 [internal function]: Laravel\Session\Payload->save() 
#6 /home3/l7o1c5g8/public_html/laravel/session.php(150): call_user_func_array(Array, Array) 
#7 /home3/l7o1c5g8/public_html/laravel/laravel.php(193): Laravel\Session::__callStatic('save', Array) 
#8 /home3/l7o1c5g8/public_html/laravel/laravel.php(193): Laravel\Session::save() 
#9 /home3/l7o1c5g8/public_html/public/index.php(34): require('/home3/l7o1c5g8...') 
#10 {main} 

任何线索?我是否需要重新生成加密代码?怎么样?

不知道该怎么做。

在共享主机中使用Laravel 3。

+2

您的'APP_KEY'可能未在'.env'中设置。您通常可以通过运行'php artisan key:generate'来完成此操作。 – ceejayoz

+3

等一下,Laravel 3 ?! – ceejayoz

+0

这是一个旧网站,没有办法联系开发人员。我没有使用Laravel的经验,这是index.php文件的标题: – user2300835

回答

0

解决:我改变了默认密钥从/public_html/application/config/application.php

: '键'=> '!YourSecretKeyGoesHere',

到: '键'=>' 32个字符!',

您必须将默认密钥替换为16,24或32个字符的字。

谢谢你的帮助。