Я недавно установил PHP 7.3.6 через веб-интерфейс Plesk для разработки копии веб-приложения, так как намерен обновить нашу производственную среду с php 7.0 до 7.3. Я решил воспользоваться возможностью обновить хэширование паролей с PBKDF2 до Argon2ID, поскольку оно уже включено в ядро PHP. Я был удивлен, получив предупреждение о том, что константа PASSWORD_ARGON2ID не определена, так как я понимаю, что она была добавлена в php 7.3.0.
Я пытался найти любой экземпляр этой ошибки, и единственное, что я нашел, было уместным, это незавершенное сообщение на форуме Laravel:
https://laracasts.com/discuss/channels/laravel/use-of-undefined-constant-password-argon2id-assumed-password-argon2id?page=1
Приложение размещено на совместно используемом 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)