laravel не найден поддерживаемый шифратор. Длина шифра и / или ключа недопустима


Я строю проект с помощью Laravel. Он отлично работал на localhost, но когда я загружаю его на сервер (на сервере установлен Comodo ssl), я получаю следующую ошибку:

RuntimeException in EncryptionServiceProvider.php line 29:
No supported encrypter found. The cipher and / or key length are invalid
in EncryptionServiceProvider.php line 29
at EncryptionServiceProvider->IlluminateEncryption{closure}(object(Application), array()) in Container.php line 733
at Container->build(object(Closure), array()) in Container.php line 626
at Container->make('encrypter', array()) in Application.php line 674
at Application->make('IlluminateContractsEncryptionEncrypter') in Container.php line 837
at Container->resolveClass(object(ReflectionParameter)) in Container.php line 800
at Container->getDependencies(array(object(ReflectionParameter)), array()) in Container.php line 771
at Container->build('SahraSalonHttpMiddlewareEncryptCookies', array()) in Container.php line 626
at Container->make('SahraSalonHttpMiddlewareEncryptCookies', array()) in Application.php line 674
at Application->make('SahraSalonHttpMiddlewareEncryptCookies') in Pipeline.php line 123
at Pipeline->IlluminatePipeline{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->IlluminatePipeline{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 118
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 86
at Kernel->handle(object(Request)) in index.php line 54

может кто-нибудь помочь решить эту ошибку?

14 67

14 ответов:

у вас есть все необходимые расширения, установленные на сервере?

  • PHP > = 5.5.9
  • расширение OpenSSL PHP
  • PDO PHP расширение
  • mbstring PHP Extension
  • расширение PHP Tokenizer

возможно, Вам не хватает расширения OpenSSL. Кроме того, у вас есть ключ, установленный в ?


попробуйте запустить:

php artisan key:generate


ответ: the 'cipher' => '' не был установлен.

вы только вводите в консоли:

php artisan key:generate

и если ваше приложение.php не изменяет этот ключ, изменяет вручную.


далее, Если вы должны затем получить это сообщение об ошибке:

[ErrorException]
file_get_contents (/path/to/my/project/.ЕНВ): не удалось открыть поток: нет такого файла или каталога

затем сделайте копию .env.example файл и повторите попытку:

cp .env.example .env
php artisan key:generate

у меня такая же проблема раньше, и я исправил ее следующим образом: Перейдите в config / app.РНР, изменить "cipher" => "anything" to

'cipher' => MCRYPT_RIJNDAEL_128,

Я просто исправить ошибку.

  1. Shift+Click правая мышь ,чтобы" открыть окно похвалы здесь " из вашего корневого проекта.
  2. в консоли пишем: "php artisan key:generate".
  3. получить 32 символа 'Mark' в config/app.php как 'key' => env('APP_KEY', 'insert get 32 char key'),//номер строки 81

в корневом каталоге, если есть .env.example файл затем изменить его на .env и затем запустить php artisan key:generate. Это сработало для меня.

в моем случае, мне нужно включить расширение mcrypt.

но сначала, проверьте, если у вас уже есть:

$ sudo apt-get install -y mcrypt php5-mcrypt

Проверьте, загружен ли модуль mcrypt:

$ php -m | grep mcrypt

если ничего не показывает, потому что не загружается, но вы уже установили выше права? Так сделайте это:

$ php5enmod mcrypt
$ sudo service apache2 restart

проверьте еще раз, и вы должны увидеть mcrypt вместо ничего. Это хороший знак, перезагрузите приложение и исправьте свою следующую ошибку;)

$ php -m | grep mcrypt
mcrypt

пишешь в консоли php artisan key:generate

вы получите сообщение типа: Application key [get 32 char key] set successfully.

заменить ключ приложения в config/app.php как 'key' => env('APP_KEY', 'insert get 32 char key'),//line number 81

решается с помощью:

php artisan key: generate

я исправил это, запустив это:

php artisan config:cache

мне удалось решить развертывание для live Ubuntu server, вот все шаги

обеспечить PHP >= 5.5.9

убедитесь, что установлены OpenSSL, Mbstring, Tokenizer и mcrypt.

чтобы установить mcrypt в PHP (Ubuntu):

sudo apt-get install php5-mcrypt,
sudo php5enmod mcrypt

сделать папку хранения доступной для записи:

chmod -R 0777 storage

заставить Apache использовать папку Lavarel / public в качестве домашней:

DocumentRoot /home/code2/public_html/Laravel-Project/public
    <Directory "/home/code2/public_html/Laravel-Project/public”> 
         AllowOverride all 
    </Directory>

майор gotcha для меня FTP может не копировать скрытые файлы по умолчанию: .env и /public/.htaccess нужно быть там!

после выполнения задач выше, он работал на Ubuntu server

Если вы используете приложение.PHP конфигурационный файл вместо чтения ключа из .env файл, то вы можете удалить функцию env () на ключевой переменной, например:

'key' = env('someRandom36CharsString'),

до

'key' = 'someRandom36CharsString',

Я страдал с этой проблемой в течение нескольких слишком много часов, прежде чем я обнаружил, что ключ кэшируется в bootstrap\cache\config.РНР. Удалил файл и мой сайт загрузился нормально (т. е. было иначе нет проблема с моей конфигурации).

Я обнаружил это, добавив некоторые выходные данные отладки в boostrap\cache\compiled.php, чтобы заставить его выплюнуть шифр и ключ (где-то около строки 7010). Затем покопался, чтобы посмотреть, как он собирал конфигурацию и нашел ее использует конфигурационный файл кэша.

добавить "illuminate/html": "~5.0" требовать раздела . Вот так:

...
"require": {
    ...
    "illuminate/html": "~5.0"
    ...
},
...

затем запустите . Когда composer install получает полный. беги php artisan key:generate. Вы получите такое сообщение:

Application key [get 32 char key] set successfully.

пожалуйста, убедитесь, что у вас есть это требования в вашей машине.

  1. PHP > = 5.6.4
  2. расширение OpenSSL PHP
  3. PDO PHP расширение
  4. mbstring PHP Extension
  5. расширение PHP Tokenizer
  6. XML PHP расширение

после установки или обновления вашего проекта

композитор обновление

после этого вы есть...

.ОКР.пример

сделать дубликат и переименуйте его в...

.env

и внести изменения в соответствии с конфигурацией базы данных или любые другие изменения, которые вам нужны.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your db name
DB_USERNAME=username if any otherwise root
DB_PASSWORD= your password if not set leave blank

наконец сгенерируйте ключ приложения с помощью--

php artisan key: generate

для кого-то может быть достаточно только последнего шага. Но у меня есть эта проблема каждый время клонировать любой проект laravel. Весь этот шаг делает это с любой опасностью.