Ошибка PHP LDAP Fatal error: Cannot redeclare password_hash() in /usr/share/phpldapadmin/lib/functions.php on line 2225
У вас новая Операционная система и Вы хотите установить Php Ldap Admin!
Тогда будьте готовы к ошибке следующего характера:
Fatal error: Cannot redeclare password_hash() in /usr/share/phpldapadmin/lib/functions.php on line 2225
Решается этот вопрос легко, достаточно заменить функцию password_hash на pla_password_hash.
Заранее напишу, что от версии к версии Phpldapadmin строки могут смещаться на 1-3 вверх или вниз. Так что цифры строк ниже берите плюс/минус 3.
Ниже написано какие файлы и стройки заменять:
Измените password_hash на pla_password_hash в файлах:
/usr/share/phpldapadmin/lib/functions.php , строки ПРИМЕРНО 2130, 2311 и 2320
/usr/share/phpldapadmin/lib/PageRender.php, строка примерно 289
Далее заменяем реплейсы в файлах:
/usr/share/phpldapadmin/lib/functions.php строка примерно 2549 и /usr/share/phpldapadmin/lib/ds_ldap.php строка примерно 1120:
замените preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
на
preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',function(){return "''.chr(hexdec('\\1')).''";},$rdn);
/usr/share/phpldapadmin/lib/functions.php строка примерно 2554 и /usr/share/phpldapadmin/lib/ds_ldap.php стркоа примерно 1125:
замените
preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
на:
preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',function(){return "''.chr(hexdec('\\1')).''";},$dn);
- Lord_3D's blog
- Войдите на сайт для отправки комментариев