Создание файла конфигурации в PHP. Создание файла конфигурации в PHP Отключение редактирования файлов в админке Вордпресс

Файл configuration.php расположен в корневой папке вашей установки Joomla. Если Joomla не была установлена в субдиректорию, то обычно путь выглядит так:

/home/username/public_html/configuration.php

Если Joomla была установлена в субдиректорию, то соответственно:

/home/username/public_html/subdirectory/configuration.php

Например, на локальном компьютере (используя XAMPP в качестве примера):

C:\xampp\htdocs\j25\configuration.php

Обзор configuration.php

Хочется в очередной раз напомнить – не забывайте делать резервную копию файла перед тем, как вы будете вносить в него изменения.

Мы пройдемся по всему файлу, создавая небольшую справку к каждой строке, с некоторыми дополнительными примечаниями там, где необходимо большее пояснение. За основу взят файл с настройками по умолчанию для Joomla! 2.5.8.

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

public $offline = "0"; public $offline_message = "Сайт закрыт на техническое обслуживание.
Пожалуйста, зайдите позже."; public $display_offline_message = "1"; public $offline_image = ""; public $sitename = "J25 Демо"; public $editor = "tinymce"; public $captcha = "0"; public $list_limit = "20"; public $access = "1";

$offline: сайт выключен (offline). Если установлено "0", то сайт включен. Если установлено "1", то сайт выключен.
$offline_message: сообщение при выключенном сайте.
$display_offline_message: показывать offline-сообщение. "0" - выключено. "1" - включено (пользовательское сообщение). "2" - по умолчанию (из языкового файла). По умолчанию - "1".
$offline_image: путь до изображения при выключенном сайте.
$sitename: название сайта, которое отображается в заголовках.
$editor: редактор, который выбран в общих настройках сайта. Значение по умолчанию "tinymce".
$captcha: защита от спам-ботов. По умолчанию "0".
$list_limit: длина списков в панели управления для всех пользователей. По умолчанию установлено в "20".
$access: уровень доступа к сайту. "1" – публичный доступ; "2" – для зарегистрированных; "3" – специальный. По умолчанию - "1".

Настройки отладки

public $debug = "0"; public $debug_lang = "0";

$debug: "0" - выключено. "1" - включено.
$debug_lang: "0" - выключено. "1" - включено.

Примечания

$debug: Включает систему отладки Joomla. Когда включено, то этот инструмент предоставит диагностическую информацию, языковые переводы и информацию о SQL запросах. Эта информация отображается внизу страницы, как на самом сайте, так и в панели управления. По умолчанию "0" - выключено.

$debug_lang: Включает индикаторы отладки (*...*) илиr (?...?) для языковых файлов Joomla. Отладка языка работает и с выключенной отладкой сайта. Но в таком случае она не предоставит дополнительной справочной информации, которая могла бы помочь в исправлении ошибок. По умолчанию "0" - выключено.

Настройки базы данных

public $dbtype = "mysqli"; public $host = "localhost"; public $user = "user"; public $password = "pass"; public $db = "demo_j25"; public $dbprefix = "fonza_";

$dbtype: тип базы данных - "mysqli" или "mysql".
$host: "localhost" на большинстве серверах, но не на всех.
$user: имя пользователя базы данных, который имеет к ней доступ.
$password: пароль, ассоциированный с именем пользователя. Это не ваш админский пароль или пароль от FTP.
$db: имя базы данных, которую вы создали для установки Joomla.
$dbprefix: как минимум три символа с нижнем подчеркиванием в конце (прописывается при установке Joomla).

Примечания

Эта информация нужна вам при установке сайта. Очень часто пользователи забывают менять эти настройки при переносе сайта, что приводит к проблемам.

Дополнительные возможности

public $live_site = ""; public $secret = "pUExyeiSuQRTVVCr"; public $gzip = "0"; public $error_reporting = "default"; public $helpurl = "http://help.joomla.org/proxy/index.php?option=com_help&keyref=Help{major}{minor}:{keyref}";

$live_site: фактический URL сайта, например - http://yourdomain.com (если конечно ваш сайт не находится в субдиректории).
$secret: НЕ ИЗМЕНЯТЬ
$gzip: gzip-сжатие страниц. "0" - выключено; "1" - включено. По умолчанию "0".
$error_reporting: сообщения об ошибках. "default" - по умолчанию.
$helpurl: справка Joomla по умолчанию.

Примечания

$live_site: В новых версиях Joomla не должно иметь значения. Но могут быть случаи, при которых необходимо заполнить это значение. Например, если вы перенаправляете url, то необходимо внести фактический url сайта. Или если вы создаете копию сайта для тестирования. Скажем, у вас есть тестовый сайт "http://yourdomain.com.com/testsite", который является копией вашего основного сайта. Тогда в тестовой копии необходимо внести изменения и установить значение в "http://yourdomain.com.com/testsite", иначе вы получите ошибку «страница не найдена». Тоже самое касается и переноса копии на субдомен.

$secret: Значение генерируется при первой установке Joomla и неизменяемо. Используется самой Joomla для безопасности.

$error_reporting: Устанавливает подходящий уровень отчета об ошибках: "default" - по умолчанию для системы, "none" - нет, "simple" - простой, "maximum" - максимум, "development" - для разработчиков (все ошибки PHP). Могут случаться ошибки, которые не влияют на работу сайта. Нет необходимости логировать все сообщения, если только вы не занимаетесь какой-то отладкой.

$helpurl: Адрес, по которому Joomla обращается за справочной информацией, когда вы кликаете на кнопку "Справка". По умолчанию используется основной сайт Joomla, но вы можете установить и свой.

Настройки FTP

public $ftp_host = "127.0.0.1"; public $ftp_port = "21"; public $ftp_user = ""; public $ftp_pass = ""; public $ftp_root = ""; public $ftp_enable = "0";

$ftp_host: "127.0.0.1" – это IP по умолчанию для localhost.
$ftp_port: "21" является нормальным по умолчанию. Но не все серверы настроены одинаково.
$ftp_user: ваше FTP имя пользователя
$ftp_pass: ваш FTP пароль
$ftp_root: обычно путь типа "/home/username/public_html" (без последнего слэша)
$ftp_enable: эта настройка говорит Joomla использовать встроенную FTP функцию, вместо процесса, используемого PHP. "0" - выключено; "1" – включено.

Настройки временной зоны

public $offset = "UTC";

$offset: часовой пояс сервера

Примечания

$offset: Устанавливает текущую дату и время. Должно быть установлено в значение, где расположен сервер. По умолчанию Всемирное время, Coordinated (UTC 00:00). Вот пример смещения, если сервер находится в Москве - $offset = "Europe/Moscow";

Настройки электронной почты

public $mailer = "mail"; public $mailfrom = "admin yourdomain.com"; public $fromname = "J25 Демо"; public $sendmail = "/usr/sbin/sendmail"; public $smtpauth = "0"; public $smtpuser = ""; public $smtppass = ""; public $smtphost = "localhost"; public $smtpsecure = "none"; public $smtpport = "25";

$mailer: "mail" использует функцию mail PHP; "sendmail" использует SMTP почту на сервере.
$mailfrom: адрес From. Адрес электронной почты, который использует Joomla для отправки почты с сайта.
$sendmail: путь, по которому распложена программа Sendmail. Используется, если $mailer установлено в Sendmail.
$smtpauth: если SMTP сервер требует аутентификацию для отправки почты, то устанавливается в "1". Иначе "0". Используется, если $mailer установлено в Sendmail.
$smtpuser: имя пользователя для доступа к SMTP серверу. Используется, если $mailer установлено в Sendmail.
$smtppass: пароль для доступа к SMTP серверу. Используется, если $mailer установлено в Sendmail.
$smtphost: SMTP хост. Адрес SMTP сервера при отсылке почты. Используется, если $mailer установлено в Sendmail.
$smtpsecure: выберите модель безопасности, которую использует ваш SMTP сервер: SSL или TLS. По умолчанию выключено. Используется, если $mailer установлено в Sendmail.
$smtpport: SMTP порт. Наименее защищенные серверы используют порт 25, а более защищенные обычно используют порт 465.

Настройки кэша

public $caching = "0"; public $cache_handler = "file"; public $cachetime = "15";

$caching: "0" - выключено; "1" стандартная настройка; "2" прогрессивная настройка. По умолчанию "0".
$cache_handler: обработчик кэша.
$cachetime: время кэша.

Примечания

$cache_handler: позволяет выбрать доступные на сервере обработчики кэша. Если на сервере не установлены обработчики кэша, то по умолчанию доступен только один вариант - "file".

$cachetime: устанавливает максимальное количество времени (в минутах) для хранения файлов кэша, по истечении которого они обновляются. По умолчанию равно 15 минутам.

Настройки метаданных

public $MetaDesc = ""; public $MetaKeys = ""; public $MetaTitle = "1"; public $MetaAuthor = "1"; public $MetaVersion = "0"; public $robots = "";

$MetaDesc: описание сайта для SEO. Это описание сайта, которое индексируется поисковиками.
$MetaKeys: ключевые слова сайта (через запятую). Эти ключевые слова описывают сайт и являются базой для индексации сайта.
$MetaTitle: отображать или нет мета-тег title. "0" - выключено; "1" – включено. На данный момент используется только в компоненте Weblinks. По умолчанию "1".
$MetaAuthor: Показывать или нет мета-тег author. "0" - выключено; "1" – включено. По умолчанию "1".
$MetaVersion: Показывать или нет версию Joomla в мета-теге generator. "0" - выключено; "1" – включено. По умолчанию "0".
$robots: инструкции для роботов поисковых систем.

Настройки SEO (Search Engine Optimization)

public $sef = "1"; public $sef_rewrite = "0"; public $sef_suffix = "0"; public $unicodeslugs = "0"; public $feed_limit = "10";

$sef: "0" - выключено; "1" – включено.
$sef_rewrite: "0" - выключено; "1" – включено.
$sef_suffix: "0" - выключено; "1" – включено.
$unicodeslugs: "0" - выключено; "1" – включено.
$feed_limit: ограничение ленты новостей, по умолчанию "10".

Примечания

$sef: контролирует Search Engine Friendly (ЧПУ) URL-адреса. Когда установлено в "1", то URL-адреса переписываются в более дружелюбный для поисковых систем формат. Например, www.example.com/index.php?option=com_content&view=blabla, будет переделано в www.example.com/alias. У большинства элементов в Joomla есть специальное поле "Алиас" для создания сокращенного URL-адреса. По умолчанию "1" - включено.

$sef_rewrite: Когда установлено в "1", Joomla для создания ЧПУ ссылок будет использовать mod_rewrite модуль Apache. Обратите внимание на то, что не рекомендуется изменять файл.htaccess без понимания того, как это работает. Вам необходимо использовать файл.htaccess предоставленный вместе с Joomla. Для использования этого файла, переименуйте файл htaccess.txt (находится в корневой папке установки Joomla) в.htaccess. Если вы используете сервер IIS, то переименуте файл web.config.txt (находится в корневой папке установки Joomla) в web.config и убедитесь в том, что у вас установлен модуль URL Rewrite для IIS. По умолчанию "0" - выключено.

$sef_suffix: Когда установлено в "1", Joomla будет добавлять к URL-адресам специальный суффикс в зависимости от типа документа. По умолчанию "0" - выключено.

$unicodeslugs: Режим создания Алиасов. Выберите между транслитерацией и хранением в кодировке Unicode. По умолчанию "0" - транслитерация.

Настройки логов и папки временных файлов

public $log_path = "/home/username/public_html/logs"; public $tmp_path = "/home/username/public_html/tmp";

$log_path: путь до логов.
$tmp_path: путь до папки временных файлов.

Примечания

$log_path: Путь, по которому будут сохраняться логи. Установщик Joomla! должен автоматически заполнить это значение. Не критично для сайта и если путь неверен, то узнать это можно, только лишь проверив логи.

$tmp_path: Это очень важная настройка и должна быть заполнена правильно. Довольно много проблем возникает при неверно заполненном значении. Особенно часто это встречается при переносе сайта, когда Joomla пытается использовать старую папку временных файлов.

Настройки сессии

public $lifetime = "15"; public $session_handler = "database";

$lifetime: время жизни сессии (целое число в минутах).
$session_handler: обработчик сессии - "database" или "none".

Примечания

$lifetime: Устанавливает, как долго длится сессия и как долго пользователь остается залогиненным. По умолчанию 15 минут.

$session_handler: Устанавливает, каким образом будет обработана сессия как только пользователь зайдет на сайт или выполнит вход (залогинится). По умолчанию установлено в "database" (база данных).

Другие настройки

public $MetaRights = ""; public $sitename_pagetitles = "0"; public $force_ssl = "0"; public $feed_email = "author"; public $cookie_domain = ""; public $cookie_path = "";

$MetaRights: описание авторских прав.
$sitename_pagetitles: включать название сайта в заголовок страницы. "0" - нет, "1" - до, "2" - после. По умолчанию "0".
$force_ssl: включить SSL. "0" - выключено; "1" – включено. Рекомендуется не включать эту настройку, только если вы точно уверены, что SSL доступен на сервере. По умолчанию "0".
$feed_email: определяет, какой e-mail будет показан в лентах новостей: "author" - e-mail автора (по умолчанию), "site" - e-mail сайта.
$cookie_domain: cookie домена.
$cookie_path: путь для cookie.

Примечания

$cookie_domain: Домен, для которого значение cookie действительно. Для того, чтобы разрешить cookie для всех поддоменов, домен должен начинаться с "." Например - ".yourdomain.com". По умолчанию используется доменное имя, на котором была выполнена установка Joomla.

$cookie_path: Путь на сервере по которому для которого действительно значение cookie. Например, если установлено в /test/, то cookie будет действительно только внутри директории /test/ и всех субдиректорий (например /test/dir/) домена. По умолчанию cookie действительно для всего домена, на котором была выполнена установка Joomla.

Благодарим Вас за проявленный интерес к нашему сайту. Компания Айтишник существует с 2006 года и предоставляет услуги IT аутсорсинга. Аутсорсинг - это перепоручение необходимых, но непрофильных для компании работ другой организации. В нашем случае это: создание, поддержка и сопровождение сайтов, продвижение сайтов в поисковых системах, поддержка и администрирование серверов под управлением Debian GNU/Linux.

Сайты на Joomla

В нынешний век информации, сайт де факто, становится как минимум визитной карточкой организации, а зачастую одним из инструментов бизнеса. Уже сейчас сайты создаются не только для организаций и частных лиц, но и для отдельных товаров, услуг и даже событий. На сегодняшний день сайт это не только источник рекламы на гигантскую аудиторию, но и инструмент для продаж и завязывания новых контактов. Мы создаем сайты, используя CMS Joomla! Эта система управления сайтами проста и интуитивно понятна. Она очень широко распространена и, следовательно, в Интернете о ней содержится большое количество информации. Найти специалиста, работающего с Joomla тоже несложно. И вам не надо далеко ходить! Наша компания Айтишник занимается обслуживанием и сопровождением сайтов на Joomla! Мы проведём все технические работы, возьмём на себя всю переписку с хостером и регистратором домена, наполним сайт и обновим на нём информацию. И хотя Joomla проста в управлении, интуитивно понятна. Но будете ли вы сами регулярно выполнять необходимые работы на сайте? Сколько времени они отнимут у вас? Если вы хотите сконцентрироваться на своём деле, то доверьте поддержку вашего сайта нам. Мы сделаем все от нас зависящее, чтобы сайт жил и приносил пользу своему владельцу.
Если вы коммерческая организация, которая рекламирует или продаёт свои товары, услуги в Интернет, то вам просто необходимо продвижение сайта в поисковых системах. Ведь для того, чтобы продать что-нибудь надо, как минимум, чтобы это увидели, чтобы об этом узнали. И мы поможем вам в этом, мы продвинем ваш Joomla сайт в поисковых системах. В зависимости от конкуренции и выделенного для продвижения бюджета, ваш сайт будет занимать достойные позиции в поисковой выдаче. Сайт увеличит вашу прибыль!

Серверы Debian

Рано или поздно, стремясь к открытости и прозрачности своего бизнеса, многие компании сталкиваются с необходимостью обеспечения лицензионной чистоты используемого программного обеспечения. Однако, далеко не всегда затраты на лицензионные отчисления приемлемы, в особенности для малого и среднего бизнеса. Выходом из этой сложной ситуации является решение о переходе на Open Source технологии. Одним из направлений Open Source является операционная система Linux (Линукс). Сотрудники нашей компании специализируются на Debian Linux (Дебиан Линукс). Это старейший и наиболее устойчивый дистрибутив операционной системы Линукс. Мы предлагаем вам услуги по внедрению Debian Linux на Вашем предприятии, настройку, обслуживание и поддержку серверов.

Информация и реклама

Я довольно удивлен принятым ответом здесь, и количество его возвышений. За исключением ответа Марсио Маццукато, нет обсуждения относительных достоинств/слабых сторон любого из нескольких подходов.

Параметры, которые я вижу, следующие:

Механизмы на основе файлов

Для этого требуется, чтобы ваш код выглядел в определенных местах, чтобы найти ini файл. Это сложная проблема для решения, которая всегда возникает в больших PHP-приложениях. Однако вам, скорее всего, придется решить проблему, чтобы найти код PHP, который включается/повторно используется во время выполнения.

Общие подходы к этому - всегда использовать относительные каталоги или искать из текущего каталога вверх, чтобы найти файл, исключительно названный в базовом каталоге приложения.

Типичные форматы файлов, используемые для файлов конфигурации, - это PHP-код, ini-форматированные файлы, JSON, XML, YAML и сериализованный PHP

PHP-код

Это обеспечивает огромную гибкость для представления различных структур данных и (при условии, что он обрабатывается с помощью include или require) анализируемый код будет доступен из кеша кода операции, что дает преимущество в производительности.

Подсистема поддерживает кэширование, репликацию и распространение. Следовательно, он хорошо работает для очень больших инфраструктур.

Системы контроля версий

Конфигурация, такая как код, должна управляться и контролироваться версией - поэтому получение конфигурации непосредственно из вашей системы VC является жизнеспособным решением. Но часто это связано со значительными издержками производительности, поэтому кэширование может быть целесообразным.

The configuration file (php.ini) is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI versions, it happens on every invocation.

php.ini is searched for in these locations (in order):

  • SAPI module specific location (PHPIniDir directive in Apache 2, -c command line option in CGI and CLI, php_ini parameter in NSAPI, PHP_INI_PATH environment variable in THTTPD)
  • The PHPRC environment variable. Before PHP 5.2.0, this was checked after the registry key mentioned below.
  • As of PHP 5.2.0, the location of the php.ini file can be set for different versions of PHP. The root of the registry keys depends on 32- or 64-bitness of the installed OS and PHP. For 32-bit PHP on a 32-bit OS or a 64-bit PHP on a 64-bit OS use [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] for 32-bit version of PHP on a 64-bit OS use ] instead. For same bitness installation the following registry keys are examined in order: , and , where x, y and z mean the PHP major, minor and release versions. For 32 bit versions of PHP on a 64 bit OS the following registry keys are examined in order: , and , where x, y and z mean the PHP major, minor and release versions. If there is a value for IniFilePath in any of these keys, the first one found will be used as the location of the php.ini (Windows only).
  • or , value of IniFilePath (Windows only).
  • Current working directory (except CLI).
  • The web server"s directory (for SAPI modules), or directory of PHP (otherwise in Windows).
  • Windows directory (C:\windows or C:\winnt) (for Windows), or --with-config-file-path compile time option.

If php-SAPI.ini exists (where SAPI is the SAPI in use, so, for example, php-cli.ini or php-apache.ini), it is used instead of php.ini . The SAPI name can be determined with php_sapi_name() .

The Apache web server changes the directory to root at startup, causing PHP to attempt to read php.ini from the root filesystem if it exists.

Using environment variables can be used in php.ini as shown below.

Example #1 php.ini Environment Variables

; PHP_MEMORY_LIMIT is taken from environment memory_limit = ${PHP_MEMORY_LIMIT}

The php.ini directives handled by extensions are documented on the respective pages of the extensions themselves. A list of the core directives is available in the appendix. Not all PHP directives are necessarily documented in this manual: for a complete list of directives available in your PHP version, please read your well commented php.ini file. Alternatively, you may find from Git helpful too.

Example #2 php.ini example

; any text on a line after an unquoted semicolon (;) is ignored ; section markers (text within square brackets) are also ignored ; Boolean values can be set to either: ; true, on, yes ; or false, off, no, none register_globals = off track_errors = yes ; you can enclose strings in double-quotes include_path = ".:/usr/local/lib/php" ; backslashes are treated the same as any other character include_path = ".;c:\php\lib"

Since PHP 5.1.0, it is possible to refer to existing .ini variables from within .ini files. Example: open_basedir = ${open_basedir} ":/new/dir" .

Scan directories

It is possible to configure PHP to scan for .ini files in a directory after reading php.ini . This can be done at compile time by setting the --with-config-file-scan-dir option. In PHP 5.2.0 and later, the scan directory can then be overridden at run time by setting the PHP_INI_SCAN_DIR environment variable.

It is possible to scan multiple directories by separating them with the platform-specific path separator (; on Windows, NetWare and RISC OS; : on all other platforms; the value PHP is using is available as the PATH_SEPARATOR constant). If a blank directory is given in PHP_INI_SCAN_DIR , PHP will also scan the directory given at compile time via --with-config-file-scan-dir .

Within each directory, PHP will scan all files ending in .ini in alphabetical order. A list of the files that were loaded, and in what order, is available by calling php_ini_scanned_files() , or by running PHP with the --ini option.

Assuming PHP is configured with --with-config-file-scan-dir=/etc/php.d, and that the path separator is:... $ php PHP will load all files in /etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP will load all files in /usr/local/etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP will load all files in /etc/php.d/*.ini, then /usr/local/etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP will load all files in /usr/local/etc/php.d/*.ini, then /etc/php.d/*.ini as configuration files.

Changelog

Version Description
7.0.0 Hash marks (# ) are no longer recognized as comments.
5.3.0 Hash marks (# ) should no longer be used as comments and will throw a deprecation warning if used.
5.2.0 The PHP_INI_SCAN_DIR environment variable can be set to override the scan directory set via the configure script.
5.1.0 It is possible to refer to existing .ini variables from within .ini files.