S2Документация → Настройка

Настройка

config.php

Этот файл располагается в папке вместе с другими файлами S2 и предназначен для хранения параметров настройки, без которых S2 работать не может. Он создается автоматически при установке, но в редких случаях его нужно редактировать вручную. Здесь описываются параметры настройки S2, которые может содержать config.php.

Ниже приведен пример config.php сразу после установки:

<?php

$db_type = 'mysqli';
$db_host = 'localhost';
$db_name = 's2';
$db_username = 'root';
$db_password = '';
$db_prefix = 'foo_';
$p_connect = false;

define('S2_BASE_URL', 'http://example.com');
define('S2_PATH', '');
define('S2_URL_PREFIX', '');

$s2_cookie_name = 's2_cookie_209796818';

Иногда возникает необходимость изменения некоторых параметров. Рассмотрим подробнее параметры config.php.

Соединение с базой данных

Задается следующими переменными:

$db_type = 'mysqli';    // Вид базы данных (см. ниже)
$db_host = 'localhost'; // Хост, на которых запущен сервер баз данных
$db_name = 's2';        // Название базы данных, в которой лежат таблицы S2
$db_username = 'root';  // Имя пользователя базы данных
$db_password = '';      // Пароль пользователя базы данных
$db_prefix = 'foo_';    // Префикс таблиц S2
$p_connect = false;

$db_type определяет, к какой базе данных будет выполнено подключение. Возможные значения:

  • mysqli, mysql, mysql_innodb, mysqli_innodb (разные способы подключения к MySQL и виды таблиц, если не знаете, что выбрать, пробуйте разные варианты в порядке перечисления);
  • pgsql (PostgreSQL);
  • pdo_sqlite (SQLite 3 через PDO).

URL сайта

Во время установки уточняется значение параметра S2_BASE_URL, которое содержит полный адрес сайта без завершающего слеша. S2_PATH содержит тот же адрес без протокола и домена.

Если S2 устанавливается в корень сайта, значения параметров должны быть такими:

define('S2_BASE_URL', 'http://example.com');
define('S2_PATH', '');

Если S2 устанавливается в папку, например, subdir, значения будут следующими:

define('S2_BASE_URL', 'http://example.com/subdir');
define('S2_PATH', '/subdir');

Перенаправление URL

Чтобы использовать красивые URL, в веб-сервере нужно настроить перенаправление запросов на файл index.php.

Apache

Если веб-сервер — Apache с включенным mod_rewrite, перенаправление заработает автоматически благодаря файлу .htaccess в дистрибутиве:

# BEGIN S2


# MultiViews interfers with proper rewriting
Options +FollowSymlinks -MultiViews

RewriteEngine On

# Uncomment and properly set the RewriteBase if the rewrite rules are not working properly
#RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]


# END S2

Nginx

Веб-сервер nginx можно настраивать так:

server {
        listen       80;
        server_name  www.example.com;
        access_log   /var/www/example.com/logs/access.log;
        error_log    /var/www/example.com/logs/error.log error;
        rewrite      ^ http://example.com$request_uri? permanent;
}

server {
        listen       80;
        server_name  example.com;

        root         /var/www/example.com/public_html;
        access_log   /var/www/example.com/logs/access.log;
        error_log    /var/www/example.com/logs/error.log error;

        location / {
                index           index.html index.php;
                try_files       $uri $uri/ @s2;
        }

        location ^~ /_pictures {
                index           index.html;
#                expires         1d;
        }

        location ~ \.php$ {
                try_files       $uri @s2;
                include         /etc/nginx/fastcgi_params;
                fastcgi_pass    127.0.0.1:9000;
        }

        location @s2 {
                include         /etc/nginx/fastcgi_params;
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_param   SCRIPT_FILENAME $document_root/index.php;
                fastcgi_param   SCRIPT_NAME /index.php;
        }
}

Настройка перенаправления в движке

Чтобы движок генерировал ссылки, соответствующие настроенной в веб-сервере схеме URL, используется константа S2_URL_PREFIX. Если перенаправление на index.php настроено (например, одним из указанных выше способов), тогда S2_URL_PREFIX должно быть пустым, и ссылки будут иметь самый короткий вид:

define('S2_URL_PREFIX', '');             // http://example.com/section1/page1

Другие возможные значения S2_URL_PREFIX и примеры получающихся URL:

// Работает, если файл index.php ищется при обращении к папке
define('S2_URL_PREFIX', '/?');           // http://example.com/?/section1/page1

// Работает в Apache (по крайней мере, в определенных конфигурациях)
define('S2_URL_PREFIX', '/index.php');   // http://example.com/index.php/section1/page1

// Должно работать везде
define('S2_URL_PREFIX', '/index.php?');  // http://example.com/index.php?/section1/page1

Во время установки проверяются перечисленные выше значения S2_URL_PREFIX и выбирается первое заработавшее. Если вы настраиваете перенаправления запросов в веб-сервере после установки движка, возможно, вы захотите изменить и S2_URL_PREFIX в файле config.php.

Прочие необязательные параметры

Определения этих констант лучше всего добавлять в файл config.php. Тогда они не будут перезаписываться при обновлении движка.

Настройка папок

define('S2_IMG_DIR', '_pictures'); — переопределяет папку для загрузки картинок и других файлов.

Принудительное шифрование в панели управления

define('S2_FORCE_ADMIN_HTTPS', 1); — включает принудительное переключение на протокол https в панели управления. Эта константа добавляется при установке, если движку удалось распознать наличие поддержки https. Перед добавлением этой константы убедитесь, что на вашем хостинге поддерживается протокол https.

Отключение расширений

define('S2_DISABLE_HOOKS', 1); — временно отключает все расширения. Нужно в том случае, если установка нерабочего расширения привела к поломке сайта и это расширение нужно удалить.

Отладка

define('S2_DEBUG', 1); — включает вывод отладочной информации при ошибках и включает вывод замечаний (notice) в PHP.

define('S2_SHOW_QUERIES', 1); — включает вывод текста и длительности выполненных SQL-запросов.

Оставьте свой комментарий

Ваше имя:

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

Комментарии перед публикацией проверяются. Сообщения о небольших ошибках не публикуются, если ошибки испрвляются сразу.
Для выделения используйте следующий код: [i]курсив[/i], [b]жирный[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Ссылку начните с http://. Других команд или HTML-тегов здесь нет.

Сколько будет 19+5?