Что должно быть в файле config php. Создание файла конфигурации в PHP. Константы для обновления WordPress

ВНИМАНИЕ: Прочтите перед редактированием этой страницы.

Пожалуйста, не указывайте в данной статье параметры своего собственного сайта, поскольку при этом вы сообщите пароль от своей базы данных всему миру, но сайт не запустите. Спасибо.

Одним из шагов при установке WordPress является внесение в файл wp-config.php параметров, необходимых для доступа к базе данных MySQL.

Этот файл, wp-config.php , не содержится в скачиваемой копии WordPress; вам потребуется его создать. В качестве примера можно использовать файл wp-config-sample.php . Ниже представлены расширенные настройки и примеры.

Для изменения файла wp-config.php вам потребуется следующая информация:

Имя базы данных Имя базы данных для WordPress Имя пользователя базы данных Имя пользователя для доступа к базе данных Пароль к базе данных Пароль пользователя для доступа к базе данных Сервер базы данных Имя сервера базы данных

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

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

Важно: никогда не используйте текстовые редакторы вроде Microsoft Word для изменения файлов WordPress!

Найдите в корневом каталоге WordPress файл и откройте его в .

Исходный wp-config-sample.php

ЗАМЕЧАНИЕ: It won"t change the Database value though, and the url will revert to the old database value if this line is removed from wp-config. to change the siteurl value in the database.

If WordPress is installed into a directory called "wordpress" for the domain example.com, define WP_SITEURL like this:

Define("WP_SITEURL", "http://example.com/wordpress");

Dynamically set WP_SITEURL based on $_SERVER["HTTP_HOST"]

Define("WP_SITEURL", "http://" . $_SERVER["HTTP_HOST"] . "/path/to/wordpressp");

ЗАМЕЧАНИЕ: A safer alternative for some installations would be to use the server-generated SERVER_NAME instead of the php/user-generated HTTP_HOST which is created dynamically by php based on the value of the HTTP HOST Header in the request, thus possibly allowing for file inclusion vulnerabilities. SERVER_NAME is set by the server configuration and is static.

Dynamically set WP_SITEURL based on $_SERVER["SERVER_NAME"]

Define("WP_SITEURL", "http://" . $_SERVER["SERVER_NAME"] . "/path/to/wordpressp");

Адрес блога (URL)

WP_HOME is another wp-config.php option added in WordPress . Similar to WP_SITEURL, WP_HOME overrides the value for home but does not change it permanently. home is the address you want people to type in their browser to reach your WordPress blog. It should include the http:// part and should not have a slash "/ " at the end.

Define("WP_HOME", "http://example.com/wordpress");

В WordPress версии 2.5, установка WP_DEBUG в true также поднимает уровень сообщений об ошибках на E_ALL и активирует предупреждения, когда устаревшие функции или файлы используются; в противном случае, WordPress устанавливает уровень сообщений об ошибках в E_ALL ^ E_NOTICE ^ E_USER_NOTICE .

Отключить Javascript присоединение

Чтобы результатам заканчиваться более быстрой административной областью, все файлы Javascript являются присоединёнными в один URL. Если Javascript не в состоянии работать в вашей административной области, вы можете попробовать отключить эту функцию:

Define("CONCATENATE_SCRIPTS", false);

Настройка лога ошибок

Because wp-config.php is loaded for every page view not loaded from a cache file, it is an excellent location to set php ini settings that control your php installation. This is useful if you don"t have access to a php.ini file, or if you just want to change some settings on the fly.

Here is an example that turns php error_logging on and logs them to a specific file. If WP_DEBUG is defined to true, the errors will also be saved to this file. Just place this above any require_once or include commands.

@ini_set("log_errors","On"); @ini_set("display_errors","Off"); @ini_set("error_log","/home/example.com/logs/php_error.log"); /* That"s all, stop editing! Happy blogging. */

Another example of logging errors, as suggested by Mike Little on the wp-hackers email list :

/** * This will log all errors notices and warnings to a file called debug.log in * wp-content (if Apache does not have write permission, you may need to create * the file first and set the appropriate permissions (i.e. use 666)) */ define("WP_DEBUG", true); define("WP_DEBUG_LOG", true); define("WP_DEBUG_DISPLAY", false); @ini_set("display_errors",0);

Увеличение памяти для PHP

define("FS_CHMOD_DIR", (0755 & ~ umask())); define("FS_CHMOD_FILE", (0644 & ~ umask()));

Константы для обновления WordPress

You should define as few of the below constants needed to correct your update issues.

The most common causes of needing to define these are:

  • Host running with a special installation setup involving Symlinks, You may need to define the path-related constants (FTP_BASE, FTP_CONTENT_DIR, and FTP_PLUGIN_DIR), Often defining simply the base will be enough.
  • Certain PHP installations shiped with a PHP FTP Extension which is incompatible with certain FTP Servers, under these rare situations, you may need to define FTP_METHOD to "ftpsockets"

The following are valid constants for WordPress updates:

  • FS_METHOD forces the filesystem method. It should only be "direct", "ssh", "ftpext", or "ftpsockets". Generally, You should only change this if you are experiencing update problems, If you change it, and it doesnt help change it back/remove it , Under most circumstances, setting it to "ftpsockets" will work if the automatically chosen method does not.
    • (Primary Preference) "Direct" forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
    • (Secondary Preference) "ssh" is to force the usage of the SSH PHP Extension.
    • (3rd Preference) "ftpext" is to force the usage of the FTP PHP Extension for FTP Access, and finally
    • (4th Preference) "ftpsockets" utilises the PHP Sockets Class for FTP Access.
  • FTP_BASE is the full path to the "base"(ABSPATH) folder of the WordPress installation.
  • FTP_CONTENT_DIR is the full path to the wp-content folder of the WordPress installation.
  • FTP_PLUGIN_DIR is the full path to the plugins folder of the WordPress installation.
  • FTP_PUBKEY is the full path to your SSH public key.
  • FTP_PRIKEY is the full path to your SSH private key.
  • FTP_USER is either user FTP or SSH username. Most likely these are the same, but use the appropriate one for the type of update you wish to do.
  • FTP_PASS is the password for the username entered for FTP_USER . If you are using SSH public key authentication this can be omitted.
  • FTP_HOST is the hostname:port combination for your SSH/FTP server. The default FTP port is 21 and the default SSH port is 22, These do not need to be mentioned.
  • FTP_SSL TRUE for SSL-connection if supported by the underlying transport , Not available on all servers. This is for "Secure FTP" not for SSH SFTP.
define("FS_METHOD", "ftpext"); define("FTP_BASE", "/path/to/wordpress/"); define("FTP_CONTENT_DIR", "/path/to/wordpress/wp-content/"); define("FTP_PLUGIN_DIR ", "/path/to/wordpress/wp-content/plugins/"); define("FTP_PUBKEY", "/home/username/.ssh/id_rsa.pub"); define("FTP_PRIKEY", "/home/username/.ssh/id_rsa"); define("FTP_USER", "username"); define("FTP_PASS", "password"); define("FTP_HOST", "ftp.example.org"); define("FTP_SSL", false);

Включение SSH Обновление доступа

To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:

Pecl install ssh2

After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.

pecl is provided by the pear package in most linux distributions. To install pecl in Redhat/Fedora/CentOS:

Yum -y install php-pear

To install pecl in Debian/Ubuntu:

Apt-get install php-pear

It is recommended to use a private key that is not pass-phrase protected. There have been numerous reports that pass phrase protected private keys do not work properly. If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS, or entering it in the "Password" field in the presented credential field when installing updates.

If you"re still not clear on how to use SSH for upgrading or installing WordPress/plugins, read through this tutorial .

Альтернатива Cron

Use this, for example, if scheduled posts are not getting published. According to Otto"s forum explanation , "this alternate method uses a redirection approach, which makes the users browser get a redirect when the cron needs to run, so that they come back to the site immediately while cron continues to run in the connection they just dropped. This method is a bit iffy sometimes, which is why it"s not the default."

Define("ALTERNATE_WP_CRON", true);

Дополнительно задаваемые константы

Here are additional constants that can be defined, but probably shouldn"t be. The Cookie definitions are particularly useful if you have an unusual domain setup.

Define("COOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("home") . "/")); define("SITECOOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("siteurl") . "/")); define("ADMIN_COOKIE_PATH", SITECOOKIEPATH . "wp-admin"); define("PLUGINS_COOKIE_PATH", preg_replace("|https?://[^/]+|i", "", WP_PLUGIN_URL)); define("TEMPLATEPATH", get_template_directory()); define("STYLESHEETPATH", get_stylesheet_directory()); define("DISABLE_WP_CRON", true);

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.

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

Сайты на Joomla

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

Серверы Debian

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

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

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

Устремите ваш взгляд на создание нового файла config.php.

Для создания файла config.php используйте обычный текстовый редактор, типа блокнота Windows, notepadd++, notepad2, или одного из лучших представителей данного типа редакторов - EditPlus.

Откройте текстовый редактор и выберите команду создания нового текстового файла.

В этот новый файл вставьте следующий код:

// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms="mysql"; //database type it may not be mysql
$dbhost="database host/domain";
$dbport="database port if not default";
$dbname="database name";
$dbuser="database user name";$dbpasswd="database password";

$table_prefix="database table prefix";
$acm_type="file";
$load_extensions="";

@define("PHPBB_INSTALLED",true);
//@define("DEBUG", true);
//@define("DEBUG_EXTRA", true);
?>

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

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

$dbms = "mysql"; Замените mysql типом вашей базы данных. Вы можете использовать следующие типы баз данных:
mysql
mysqli
firebird
mssql
mssql_odbc
oracle
postgres
sqlite

$dbhost = "database host/domain"; Замените database host/domain адресом хоста или домена вашей базы данных. Множество хостов в этом поле используют адрес localhost, но уточните этот момент у своего хостера.

$dbport = "database port if not default"; Замените database port if not default номером порта базы данных, если сервер использует нестандартный порт для подключения к базе данных. Оставьте поле пустым, если сервер использует порт по умолчанию. Это поле необходимо заполнить только в том случае, если сервер базы данных использует нестандартный порт.

$dbname = "database name"; Замените database name именем базы данных, в которую вы установили phpBB3. Если у вас есть phpmyadmin для доступа к вашим базам данных, то имя базы данных вы можете узнать, просматривая базу в phpmyadmin. В противном случае свяжитесь со своим хостером для получения сведений о базе данных.

$dbuser = "database user name"; Замените database user name именем пользователя базы данных. Все базы данных нуждаются в учётной записи пользователя, которая будет использоваться для подключения к ней. Имя учётной записи пользователя базы данных должно быть введено в это поле.

$dbpasswd = "database password"; Замените database password паролем к учётной записи пользователя базы данных. Все базы данных нуждаются в учётной записи пользователя, которая будет использоваться для подключения к ней. Пароль учётной записи пользователя базы данных должен быть введён в это поле.

$table_prefix = "database table prefix"; Замените database table prefix префиксом таблиц в базе данных. В установке по умолчанию данный префикс phpbb_ . Однако, вы могли изменить его в процессе установки. Этот префикс можно узнать с помощью phpmyadmin, просматривая базу данных в нём.

Следующие параметры не нужно изменять или беспокоиться о них при создании файла config.php ,
$acm_type = "file";
$load_extensions = "";
@define("PHPBB_INSTALLED", true);
//@define("DEBUG", true);
Примечание: раскомментировав (удалив //) эту строку, вы сможете увидеть время загрузки страниц внизу страниц конференции.
//@define("DEBUG_EXTRA", true);

После завершения редактирования файла сохраните его как файл config.php . Убедитесь, что редактор не сохранил его как config.txt, или как config.php.txt.

Теперь у вас есть новый файл config.php . Загрузите его на сервер с помощью FTP-клиента в папку с установленным phpBB3 (в ту папку, в которой также находится файл common.php, viewtopic.php, viewforum.php и т.п.).

В большинстве случаев FTP-клиент сам установит правильные права доступа на файл, но убедитесь, что chmod файла 644 (это относится только к серверам на основе UNIX).

Помните, что в файле config.php не должно быть ничего перед начальным оператором и после конечного оператора ?> . Это относится и к пустым строкам и к лишним пробелам. Абсолютно ничего не должно быть вне этих операторов.

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

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

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

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

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

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

PHP-код

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

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

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

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