<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Register.xml%3Ainfo</id>
	<title>Register.xml:info - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Register.xml%3Ainfo"/>
	<link rel="alternate" type="text/html" href="https://www.ejudge.ru/wiki/index.php?title=Register.xml:info&amp;action=history"/>
	<updated>2026-04-21T07:41:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.ejudge.ru/wiki/index.php?title=Register.xml:info&amp;diff=4097&amp;oldid=prev</id>
		<title>Anna: Created page with &quot;Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/[[regis...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.ejudge.ru/wiki/index.php?title=Register.xml:info&amp;diff=4097&amp;oldid=prev"/>
		<updated>2012-02-22T10:08:30Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Навигация: &lt;a href=&quot;/wiki/index.php/Main_Page&quot; title=&quot;Main Page&quot;&gt;Главная страница&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_ejudge&quot; title=&quot;Система ejudge&quot;&gt;Система ejudge&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&quot; title=&quot;Использование&quot;&gt;Использование&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D1%8B&quot; title=&quot;Конфигурационные файлы&quot;&gt;Конфигурационные файлы&lt;/a&gt;/[[regis...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[register.xml]]/[[register.xml:info|Общая информация]]&lt;br /&gt;
&lt;br /&gt;
Данный конфигурационный файл используется CGI-программой &amp;lt;tt&amp;gt;[[register]]&amp;lt;/tt&amp;gt;. Содержимое&lt;br /&gt;
файла прочитывается один раз при старте CGI-программы, то есть каждый раз, когда ктолибо посылает HTTP/HTTPS-запрос к серверу, приводящий к запуску программы register.&lt;br /&gt;
&lt;br /&gt;
Местоположение конфигурационного файла определяется на этапе компиляции системы&lt;br /&gt;
ejudge с помощью опции &amp;lt;tt&amp;gt;--enable-cgi-conf-dir&amp;lt;/tt&amp;gt; скрипта &amp;lt;tt&amp;gt;[[configure]]&amp;lt;/tt&amp;gt;. Эта опция позволяет установить каталог, в котором находятся конфигурационные файлы всех CGI-программ.&lt;br /&gt;
&lt;br /&gt;
Если опция не была указана в командной строке configure, предполагается значение по&lt;br /&gt;
умолчанию, равное &amp;lt;tt&amp;gt;../cgi-data&amp;lt;/tt&amp;gt;. Местоположение каталога конфигурационных файлов,&lt;br /&gt;
задаваемого опцией &amp;lt;tt&amp;gt;--enable-cgi-conf-dir&amp;lt;/tt&amp;gt; может быть как абсолютным, так и относительным путём. В случае относительного пути точкой отсчёта является каталог, в котором находится сама CGI-программа &amp;lt;tt&amp;gt;[[register]]&amp;lt;/tt&amp;gt;. Для этого используется переменная окружения&lt;br /&gt;
&amp;lt;tt&amp;gt;SCRIPT_FILENAME&amp;lt;/tt&amp;gt;, устанавливаемая веб-сервером при запуске CGI-программы.&lt;br /&gt;
&lt;br /&gt;
Таким образом, если, например, CGI-программы располагаются в каталоге&lt;br /&gt;
&amp;lt;tt&amp;gt;/home/httpd/cgi-bin&amp;lt;/tt&amp;gt;, то при значении пути к конфигурационным файлам&lt;br /&gt;
&amp;lt;tt&amp;gt;../cgi-data&amp;lt;/tt&amp;gt;, конфигурационные файлы CGI-программ должны располагаться в каталоге&lt;br /&gt;
&amp;lt;tt&amp;gt;/home/httpd/cgi-data&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Конфигурационный файл программы &amp;lt;tt&amp;gt;register&amp;lt;/tt&amp;gt; может называться &amp;lt;tt&amp;gt;register.xml&amp;lt;/tt&amp;gt; или&lt;br /&gt;
&amp;lt;tt&amp;gt;register-&amp;lt;/tt&amp;gt;''N''&amp;lt;tt&amp;gt;.xml&amp;lt;/tt&amp;gt;, где ''N'' — номер турнира (см. ниже), но и конфигурационный файл вообще&lt;br /&gt;
может отсутствовать. Для этого необходимо, чтобы все настройки, которые считываются из&lt;br /&gt;
конфигурационного файла, были установлены при компиляции системы с помощью опций&lt;br /&gt;
скрипта &amp;lt;tt&amp;gt;[[configure]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Чтобы конфигурационный файл программы &amp;lt;tt&amp;gt;register&amp;lt;/tt&amp;gt; был необязательным, необходимо,&lt;br /&gt;
чтобы программа &amp;lt;tt&amp;gt;register&amp;lt;/tt&amp;gt; была открыта для доступа со всех IP-адресов (дополнительные&lt;br /&gt;
ограничения, конечно, могут задаваться для каждого турнира в конфигурационном файле турнира). Кроме того, при компиляции системы &amp;lt;tt&amp;gt;ejudge&amp;lt;/tt&amp;gt; необходимо указание опций &amp;lt;tt&amp;gt;--enable-charset&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--enable-socket-path&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;--enable-conf-dir&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Если конфигурационный файл не найден или не может быть открыт, используется следующий встроенный конфигурационный файл по умолчанию:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;register_config&amp;gt;&lt;br /&gt;
  &amp;lt;access default=&amp;quot;allow&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/register_config&amp;gt;&lt;br /&gt;
Опции &amp;lt;tt&amp;gt;--enable-charset&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--enable-socket-path&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;--enable-conf-dir&amp;lt;/tt&amp;gt;&lt;br /&gt;
скрипта &amp;lt;tt&amp;gt;[[configure]]&amp;lt;/tt&amp;gt; позволяют в этом случае установить значения по умолчанию для&lt;br /&gt;
остальных необходимых элементов конфигурационного файла.&lt;br /&gt;
&lt;br /&gt;
При запуске программы &amp;lt;tt&amp;gt;register&amp;lt;/tt&amp;gt; вначале определяется идентификатор турнира. Идентификатор турнира определяется либо по параметру запроса &amp;lt;tt&amp;gt;contest_id&amp;lt;/tt&amp;gt;, либо по имени,&lt;br /&gt;
под которым вызывается программа register, причем параметр запроса &amp;lt;tt&amp;gt;contest_id&amp;lt;/tt&amp;gt; имеет&lt;br /&gt;
приоритет. В случае, когда идентификатор турнира не определен или определен по параметру&lt;br /&gt;
запроса &amp;lt;tt&amp;gt;contest_id&amp;lt;/tt&amp;gt;, всегда используется конфигурационный файл &amp;lt;tt&amp;gt;register.xml&amp;lt;/tt&amp;gt;. Если&lt;br /&gt;
конфигурационный файл не существует, то будут использоваться значения по умолчанию.&lt;br /&gt;
&lt;br /&gt;
Определение идентификатора турнира по имени программы является устаревшим механизмом и не рекомендуется для использования. В этом случае программа &amp;lt;tt&amp;gt;register&amp;lt;/tt&amp;gt; должна называться &amp;lt;tt&amp;gt;register-&amp;lt;/tt&amp;gt;''N'', где ''N'' — десятичное число-идентификатор турнира. Этого можно добиться созданием символических или жестких ссылок в каталоге CGI-программ веб-сервера.Тогда сначала будет сделана попытка считать конфигурационный файл &amp;lt;tt&amp;gt;register-&amp;lt;/tt&amp;gt;''N''&amp;lt;tt&amp;gt;.xml&amp;lt;/tt&amp;gt;,&lt;br /&gt;
затем, если эта попытка завершилась неудачно, будет сделана попытка считать конфигурационный файл &amp;lt;tt&amp;gt;register-&amp;lt;/tt&amp;gt;''N′''&amp;lt;tt&amp;gt;.xml&amp;lt;/tt&amp;gt;, где ''N′'' — это число, напечатанное с 6 десятичными&lt;br /&gt;
знаками, включая незначащие нули, например, &amp;lt;tt&amp;gt;register-000001.xml&amp;lt;/tt&amp;gt;. Если это попытка&lt;br /&gt;
завершилась неудачно, будет сделана попытка считать конфигурационный файл &amp;lt;tt&amp;gt;register-&amp;lt;/tt&amp;gt;''N′′''&amp;lt;tt&amp;gt;.xml&amp;lt;/tt&amp;gt;, где ''N′′'' — число, напечатанное без ведущих незначащих нулей. Наконец, будет&lt;br /&gt;
сделана попытка считать конфигурационный файл &amp;lt;tt&amp;gt;register.xml&amp;lt;/tt&amp;gt;, и в случае неуспеха&lt;br /&gt;
будут использоваться значения по умолчанию.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>
		
	</entry>
</feed>