Symfony 3.0.3 Как устранить ошибку «There is no suitable CSPRNG installed on your system»?

Привет всем! Нужна помощь с устранением ошибки. Может кто-нибудь сталкивался.
Не смог зафиксировать в какой именно момент (обновление исходников до актуальной версии и/или манипуляции с сервером и/или обновление Symfony) эта ошибка появилась, но заметил, что до очистки куков всё работало нормально.

Twig_Error_Runtime in classes.php line 4797:
An exception has been thrown during the rendering of a template ("There is no suitable CSPRNG installed on your system") in "UserBundle:Security:login_inline.html.twig" at line 45.


Собственно строка 45:
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />


Причём с той же строкой работает на этом же сервере старая версия исходников в prod.
Всё сделано как описано тут

Гуглил? Да. Чистил ли cache? Да.
CentOS Linux release 7.2.1511 (Core)
$ uname -a
Linux ovvio.pro 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ php -v
PHP 5.6.19 (cli) (built: Mar 4 2016 23:38:37)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

ЗЫЖ Буду продолжать искать решение проблемы сам, но если откликнитесь, то буду очень благодарен.
  • Вопрос задан
  • 2275 просмотров
Решения вопроса 1
Naziron
@Naziron Автор вопроса
Обновился до самой последней версии. Теперь всё работает. Спасибо Rikcon .

/vendor/paragonie/random_compat/CHANGELOG.md
### Version 1.3.0 - 2016-03-17

* Removed `openssl_random_pseudo_bytes()` entirely. If you are using
random_compat in PHP on a Unix-like OS but cannot access
`/dev/urandom`, version 1.3+ will throw an `Exception`. If you want to
trust OpenSSL, feel free to write your own fallback code. e.g.

```php
try {
$bytes = random_bytes(32);
} catch (Exception $ex) {
$strong = false;
$bytes = openssl_random_pseudo_bytes(32, $strong);
if (!$strong) {
throw $ex;
}
}
```
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Quber
@Quber
PHP Team lead
Это решение не всем помогает. Мне помогло добавлением пути "/dev/urandom" в open_basedir

<VirtualHost localhost:80>
    php_admin_value open_basedir "/dev/urandom:."
</VirtualHost>


Вычитал решение здесь https://github.com/paragonie/random_compat/issues/99
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы