Ошибка в работе админпанели sams
На сервере под управлением FreeBSD 7.2-RELEASE работает sams-1.0.5 на apache-2.0.63 с прикрученным php5-5.3.3. Перестали отображаться закладки «Настройки SASM» и «Настройки WEB-интерфейса», хотя все остальные закладки работают правильно, интернет трафик пользователей считается и отключение пользователей, превысивших квоту, производится. |
Одновременно в логе apache2 стали появляться ошибки вида:
[Fri Sep 03 10:58:17 2010] [error] [client 192.168.100.x] PHP Fatal error: Cannot redeclare GetHostName() in /usr/local/www/web-server/sams/src/configtray.php on line 20, referer: http://web-server/sams/lframe.php
То есть, вместо содержимого, показанного на Рис.1 и Рис.2 при нормальной работе sams, всегда стало отображаться просто состояние системы, как после входа под администраторской учетной записью в sams (Рис.3).
Рис.1 Настройки SAMS (нажмите для увеличения)
Рис.2 Настройки WEB-интерфейса (нажмите для увеличения)
Рис.3 Начало работы с SAMS (нажмите для увеличения)
Как видно из описания ошибки в логе apache2, разработчики переопределяли функцию GetHostName(). Чтобы исправить эту ошибку, необходимо закомментировать эту функцию в файлах webconfigtray.php и configtray.php по пути:
# cat /usr/local/www/web-server/sams/src/webconfigtray.php ... /* *function GetHostName() *{ * if(!($value=getenv('SERVER_NAME'))) * { $value="N.A."; } * return($value); *} */ ...
и
# cat /usr/local/www/web-server/sams/src/configtray.php ... /* *function GetHostName() *{ * if(!($value=getenv('SERVER_NAME'))) * { $value="N.A."; } * return($value); *} */ ...
Или вы можете поискать эти файлы в каталоге /usr/local/share/sams/src
После перезапуска apache2, sams стал работать правильно и ошибки пропали.
Можно и не коменнтить, а просто поменять и все заработает.
GetSamsHostName()