Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 14.12.2016 13:10:05

Function mcrypt_get_iv_size() is deprecated

Версия Laravel:
4.2.17

Версия PHP:
7.1.0

Операционная система и её версия:
Windows 10

Вендор и версия сервера БД:
MySQL 5.7.16

Вендор и версия Веб-сервера:
Apache 2.4.23

Медод подключения PHP:
Модуль Апача

Задача, что должно происходить _в целом_, техническое задание:
Сайт должен работать штатно  - как работал до переустановки php

Что произошло, текст ошибки, если есть:
ErrorException (E_DEPRECATED)
Function mcrypt_get_iv_size() is deprecated

Чего вы ожидали получить:
Нормальную работу функции mcrypt_get_iv_size()

Варианты/догадки, почему это произошло:
Баг php:
https://bugs.php.net/bug.php?id=73734

* * *
Может, кто знает, как забороть?

Изменено tmanager (14.12.2016 13:18:34)

Не в сети

#2 14.12.2016 13:27:09

Re: Function mcrypt_get_iv_size() is deprecated

Забыл написать - я выставил для php
error_reporting = E_ALL & ~E_DEPRECATED

Изменено tmanager (14.12.2016 13:27:30)

Не в сети

#3 14.12.2016 13:41:28

Re: Function mcrypt_get_iv_size() is deprecated

Согласно статье http://php.net/manual/en/migration71.de … ext-mcrypt
mbcrypt был заброшен на протяжении десятиления.
С версии 7.2 будем все использовать OpenSSL.
Готовьтесь к приключениям.

Не в сети

#4 14.12.2016 13:57:45

Re: Function mcrypt_get_iv_size() is deprecated

А как-то можно уговорить проект на Ларавеле хоть этот десяток лет поработать?

Зачем падать-то из-за Депрекейтеда?

Не в сети

#5 14.12.2016 13:58:57

Re: Function mcrypt_get_iv_size() is deprecated

  1. Готовьтесь к приключениям.

Ничего подобного, как раз приключения — это про mcrypt, который с 2007 не обновлялся и вообще имеет кривую/нестандартную реализацию некоторых алгоритмов, в т.ч. AES. Почему в Laravel взяли его за основу — это загадка.

openssl отлично работает, рекомендую. Кстати, у mcrypt нет AES-NI, а у openssl есть, от чего он работает на порядок быстрее (с AES, конечно).

Не в сети

#6 14.12.2016 14:04:32

Re: Function mcrypt_get_iv_size() is deprecated

Ларавел 5.3. работает. Там в файле
\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php
нет этой функции.

Получается  - перетаскивать проект на 5.3 если не найду менее радикального варианта.

Не в сети

#7 14.12.2016 14:12:52

Re: Function mcrypt_get_iv_size() is deprecated

Laravel 5.4 LTS будет с выходом РНР 7.2 или 7.3, думается мне. Уже сейчас все проекты надо перетаскивать на 5.3+, потому что потом будет сразу и много работы. Да и возни с перетаскиванием там на 2-3 дня, если нет фигни вида DB::table() и хардкода...

Не в сети

Подвал раздела