Я недавно обновил свой Debian wheezy (7.7) и после этого забыл проверить все системы. Итак, я не могу точно сказать, какие были версии до того, как я обновился, или в какой момент они сломались.
Когда я сегодня попытался подключиться к своему postconf, я получил только пустую страницу. При просмотре журнала ошибок было обнаружено следующее сообщение:
PHP Fatal error: Cannot redeclare hex2bin() in /var/www/postconf/functions.inc.php on line 1338
Если бы я попытался вызвать страницу входа прямо в php с помощью php5 /var/www/postconf/login.php
дается та же ошибка.
Я наткнулся это старое обновление от людей postfixadmin, которые описали, что «PHP около версии 5.3.8 включает hex2bin как родную функцию». К счастью, функция PHP, по-видимому, делает то же самое, что и функция postconf, поэтому ее можно сохранить для использования их.
Вы должны отредактировать /var/www/postconf/functions.inc.php
и перейдите к функции hex2bin в строке 1328 и введите эту строку перед функцией: if (!function_exists('hex2bin')) {
и закройте эту скобку в конце функции (строка 1339) с помощью }
.
После этого postconf будет работать должным образом.
Скорее всего было бы лучше обновить всю /var/www/postconf
папку, но я не мог понять, как это сделать.