вторник, 23 марта 2010 г.

Блогодвиг

Были небольшие проблемы с использованием движка MaxSite на новом хостинге, но разобрался в чем этим проблемы состояли. Первая была в том, что настройками сервера в файле .htacess были недопустимы некоторые директивы управления, а именно директива Options +FollowSymLinks. Решается это простым закомментированием данной директивы, ну, или если вам так хочется, удалением ее полностью. После устранения этой директивы движок стартанул нормально (до этого не стартовал, сервер выдавал одну из пятисотых ошибок. После установки движка выявилась еще одна проблема.

Проблема эта оказалась мало кому известной на данном хостинге и потому решения на нее пришлось искать самостоятельно. В общем эта проблема проявлялась так. После нескольких операций на блоге внезапно пропадала связь с базой данных и выдавалась ошибка, что невозможно подключиться с предложенным логином/паролем. Сначала долго ломал голову над тем где искать решение. Потом помозговав чуток решил, что возможно сервер не поддерживает так называемое живое соединение - неразрывное. Решил не тревожить администрацию и посмотреть настройки движка, может где-то это возможно подправить.
После недолгих исканий отыскался файл database.php, расположенный в папке «⁄application⁄config». В нем-то как раз в явном виде и задавалась установка использовать непрерывное живое соединение с сервером MySQL. Что ж, решил попробовать отключить необходимость использования persistent-connect (параметр $db['default']['pconnect'] =) и переключил его с TRUE на FALSE. И о чудо, вот уже два дня нет никаких проблем с движком. Работает без сучка и без задоринки.
Да, отключение этого параметра заставляет движок при каждом запросе авторизоваться на сервере. Это чуток замедляет работу движка, ведь сначала авторизация, затем запрос-ответ, затем разрыв соединения и выдача результатов. Но если честно, это не очень заметно, зато работает без ошибок, что более важно. В общем и целом частое обращение с авторизацией на сервер, конечно, не особо безопасно для конкретной базы данных (всякий снифинг еще присутствует, а при авторизации имя базы, логин и пароль передаются в открытом незашифрованном виде), зато это намного безопаснее для сервера MySQL в целом, что много важнее. В конечном итоге для пользователя конкретной базы данных необходимо всего лишь делать изредка бэкапы, а вот откат всего сервера это процедура длительная и не всегда возможная в полной мере.
Так что такие настройки на сервере MySQL скорее надо считать особенностью сервера, которая позволяет обезопасить сервер и ни в коем случае нельзя считать неудобством.

Комментариев нет: