Недавно я установил PHP 7.3.6 через веб-интерфейс Plesk для копии разработки веб-приложения, так как я намерен обновить нашу производственную среду с php 7.0 до 7.3. Я решил воспользоваться возможностью, чтобы обновить наше хэширование паролей с PBKDF2 на Argon2ID, поскольку оно уже включено в ядро PHP. Я был удивлен, получив предупреждение о том, что константа PASSWORD_ARGON2ID не определена, так как я понимаю, что она была добавлена в php 7.3.0.
Я попытался найти любой экземпляр этой ошибки, и единственное, что я нашел, было это сообщение без подробностей на форуме Laravel:
Приложение размещено на общем vps с MediaTemple. Centos 7 с использованием nginx в качестве обратного прокси-сервера поверх Apache. Это субдомен для разработки, работающий под управлением 7.3.6, наряду с основным доменом, на котором работает производственная версия приложения 7.0.33.
$this->password = password_hash('password123', PASSWORD_ARGON2ID, array('time_cost' => 10, 'memory_cost' => '2048k', 'threads' => 6));
Я ожидал, что константа PASSWORD_ARGON2ID будет определена, но было сообщено, что она не определена:
Use of undefined constant PASSWORD_ARGON2ID - assumed 'PASSWORD_ARGON2ID' (this will throw an Error in a future version of PHP)