2017-08-07 56 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個字符的字。

謝謝你的幫助。