<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Valet - персональный блог, заметки о SEO, жизни и прочей фигне</title>
	<atom:link href="http://valetsite.org.ua/feed/" rel="self" type="application/rss+xml" />
	<link>http://valetsite.org.ua</link>
	<description>Здесь будут тупо мои заметки о СЕО, жизни и прочей фигне - так просто чтобы не забыть :)</description>
	<pubDate>Sun, 07 Mar 2010 13:16:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DLE перенос сайта. Решение проблемыwas not found on this server</title>
		<link>http://valetsite.org.ua/news/dle-perenos-sajta-reshenie-problemywas-not-found-on-this-server/</link>
		<comments>http://valetsite.org.ua/news/dle-perenos-sajta-reshenie-problemywas-not-found-on-this-server/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 13:16:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=803</guid>
		<description><![CDATA[Перенести файл .htaccess
]]></description>
			<content:encoded><![CDATA[<p>Перенести файл .htaccess</p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/news/dle-perenos-sajta-reshenie-problemywas-not-found-on-this-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle</title>
		<link>http://valetsite.org.ua/rabota/oracle/</link>
		<comments>http://valetsite.org.ua/rabota/oracle/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 08:13:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Работа]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=709</guid>
		<description><![CDATA[Здесь буду скидывать ошибки при работе с оракл и их решения..
ORA-12545
Всеголиш надо в hosts имя прописать - &#60;IP&#62; &#60;SID&#62; (в w2000 C:\WINNT\system32\drivers\etc\hosts)
]]></description>
			<content:encoded><![CDATA[<p>Здесь буду скидывать ошибки при работе с оракл и их решения..</p>
<p><span id="more-709"></span>ORA-12545</p>
<p>Всеголиш надо в hosts имя прописать - &lt;IP&gt; &lt;SID&gt; (в w2000 C:\WINNT\system32\drivers\etc\hosts)</p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/rabota/oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Оценка загрузки и производительности VPS</title>
		<link>http://valetsite.org.ua/news/ocenka-zagruzki-i-proizvoditelnosti-vps/</link>
		<comments>http://valetsite.org.ua/news/ocenka-zagruzki-i-proizvoditelnosti-vps/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:03:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=699</guid>
		<description><![CDATA[Команда top на VPS
Команда top необходима для отображения информации в реальном времени о процессах в Unix-системах, доступной памяти, использовании ресурсов CPU. Верхняя часть вывода содержит 4 основных строки:

Tasks: 35 total, 1 running, 34 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.1% us, 12.2% sy, 0.0% ni, 72.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 6216764k total, 5668368k used, 548396k free, 472176k buffers
Swap: 12586916k total, 1352k used, 12585564k free, 3360180k cached
Первая строка содержит информацию по задачам [...]]]></description>
			<content:encoded><![CDATA[<h4 id="top-vps" class="distant">Команда top на VPS</h4>
<p>Команда top необходима для отображения информации в реальном времени о процессах в Unix-системах, доступной памяти, использовании ресурсов CPU. Верхняя часть вывода содержит 4 основных строки:</p>
<p><span id="more-699"></span></p>
<p class="code">Tasks: 35 total, 1 running, 34 sleeping, 0 stopped, 0 zombie<br />
Cpu(s): 10.1% us, 12.2% sy, 0.0% ni, 72.7% id, 0.0% wa, 0.0% hi, 0.0% si<br />
Mem: 6216764k total, 5668368k used, 548396k free, 472176k buffers<br />
Swap: 12586916k total, 1352k used, 12585564k free, 3360180k cached</p>
<p>Первая строка содержит информацию по задачам (процессам) на сервере, показывает, сколько всего запущено задач на (35 total), сколько из задач выполняется (1 running), сколько из задач находится в режиме sleep (так называемый «ждущий режим» — 34 sleeping), сколько процессов останавливается (0 stopped), количество zombie-процессов (0 zombie).</p>
<p>Вторая строка показывает использование CPU для сервера. Первый параметр <span class="nobr">(10.1% us — user)</span> содержит информацию о том, сколько процессорного времени потребляется программами и приложениями, запущенными на сервере.</p>
<p>Последние две строки показывают состояние памяти — реальной (Mem) и файла подкачки (Swap). Данные показывают общее состояние памяти всего сервера (а не только отдельного VPS в частности). total (6216764k total) — количество памяти, установленной на сервере (занятой под файл подкачки). used (5668368k used) — количество памяти, используемой в настоящий момент, free (548396k free) — свободная память сервера. buffers — часть памяти, используемая под буферы, cache — часть памяти, используемая в качестве кеша (повторяющиеся образы программ в памяти. Память буфера (buff) и кэш-память показывает, насколько используется память буфера диска и кэша, обрабатывая только последние данные.</p>
<h4 id="memory-vps-fed7" class="distant">Команда memory на VPS с установленной системой Fedora Core 7</h4>
<p>Для того, чтобы отследить занимаемую оперативную память и использование процессора (CPU) для VPS-сервера, а не всего физического сервера, на VPS с установленной операционной системой Fedora Core 7 необходимо использовать команду memory.</p>
<p>Данная команда при запуске выдает данные в следующем виде (показатели на разных тарифных планах будут различаться соответственно):</p>
<p class="code">VPS CPU<br />
user: 0.00 nice: 0.00 system: 0.00 idle: 100.00</p>
<p>VPS Memory<br />
total: 256.00MB used: 105.29MB (41.13%) free: 150.71MB (58.87%)</p>
<p>Это и есть показатели использования мощности процессора и оперативной памяти в пределах VPS-сервера.</p>
<h4 id="mod-status" class="distant">Модуль mod_status веб-сервера Apache</h4>
<p>Модуль Apache <strong class="light">mod_status</strong> позволяет администратору следить за состоянием веб-сервера в реальном времени. При обработке скриптов модулями <strong class="light">mod_php</strong> или <strong class="light">mod_perl</strong> невозможно получить подробную информацию по использованию ими системных ресурсов стандартными командами <strong class="light">top</strong>и <strong class="light">ps</strong>. Модуль <strong class="light">mod_status</strong> генерирует специальную страницу со статистикой обработки текущих запросов веб-сервером в читаемом виде.</p>
<p>Для включения страницы со статистикой нужно отредактировать файл <strong class="light">httpd.conf</strong>: <code><span style="color: #000000;"> [root@<strong class="uXXXXX">vXXXX</strong> ]# vi /etc/httpd/conf/httpd.conf</span> </code></p>
<p>Убедитесь, что указанный модуль загружается: <code><span style="color: #000000;"> LoadModule status_module modules/mod_status.so</span> </code></p>
<p>Раскомментируйте следующую директиву для более подробной статистики: <code><span style="color: #000000;"> ExtendedStatus On</span> </code></p>
<p>Раскомментируйте следующую секцию и укажите ваш внешний IP адрес. Если вы его не знаете, то вы можете его узнать с помощью различных сервисов наподобие <a href="http://myip.ru/">myip.ru</a>. В том случае если у вас динамический IP адрес, можно указать «Allow from all» для доступа к статистике с любого IP адреса: <code><span style="color: #000000;"> &lt;Location /server-status&gt;<br />
SetHandler server-status<br />
Order deny,allow<br />
Deny from all<br />
Allow from <span class="accent">xxx.xxx.xxx.xxx</span><br />
&lt;/Location&gt;</span> </code></p>
<p>Перезагрузите веб-сервер командой: <code><span style="color: #000000;"> [root@<strong class="uXXXXX">vXXXX</strong> ]# service httpd restart</span> </code> Теперь вы можете обращаться к странице со статистикой по адресу <strong class="light">http://domain.tld/server-status</strong>, где <strong class="light">domain.tld</strong> — ваш домен.</p>
<p>Информация о работе веб-сервера выглядит следующим образом: <code><span style="color: #000000;"> Scoreboard Key:<br />
&#8220;_&#8221; Waiting for Connection, &#8221;S&#8221; Starting up, &#8221;R&#8221; Reading Request,<br />
&#8220;W&#8221; Sending Reply, &#8221;K&#8221; Keepalive (read), &#8221;D&#8221; DNS Lookup,<br />
&#8220;C&#8221; Closing connection, &#8221;L&#8221; Logging, &#8221;G&#8221; Gracefully finishing,<br />
&#8220;I&#8221; Idle cleanup of worker, &#8221;.&#8221; Open slot with no current process</p>
<p>PID    M  CPU   SS Client  Request<br />
21678  W  0.02  0  <span class="accent">IP</span> GET /server-status HTTP/1.1<br />
21745  C  0.01  0  <span class="accent">IP</span> GET /img/glyph/btn_miva_bg.gif HTTP/1.1<br />
21998  C  0.00  0  <span class="accent">IP</span> GET /img/common/pb_plesk.gif HTTP/1.1<br />
21999  C  0.00  0  <span class="accent">IP</span> GET /img/common/pb_virt.gif HTTP/1.1</p>
<p>Srv    Child Server number - generation<br />
PID    OS process ID<br />
Acc    Number of accesses this connection / this child / this slot<br />
M      Mode of operation<br />
CPU    CPU usage, number of seconds<br />
SS     Seconds since beginning of most recent request<br />
Req    Milliseconds required to process most recent request<br />
Conn   Kilobytes transferred this connection<br />
Child  Megabytes transferred this child<br />
Slot   Total megabytes transferred this slot</span> </code></p>
<p>При диагностике различных ситуаций наибольший интерес представляют следующие параметры:</p>
<ul class="list-3">
<li><strong class="light">M —</strong> текущее состояние процесса, расшифровка значений приводится чуть выше</li>
<li><strong class="light">CPU —</strong> значение использования процессора в процентах (формулировка «number of seconds» некорректна)</li>
<li><strong class="light">SS —</strong> время работы процесса в секундах</li>
<li><strong class="light">Client —</strong> IP адрес, с которого пришёл запрос</li>
<li><strong class="light">Request —</strong> обрабатываемый запрос</li>
</ul>
<h4 class="intext distant">Примеры возможных ситуаций, при которых может не отображаться сайт:</h4>
<ul class="list-0">
<li><strong class="light">Несколько одинаковых или почти одинаковых запросов к одному скрипту загружают почти весь CPU.</strong>Скорее всего, скрипт написан некорректно. В этом случае достаточно отключить скрипт или определённую секцию сайта командой <strong class="light">chmod</strong>, после чего сообщить программистам, занимающимся разработкой сайта.</li>
<li><strong class="light">Несколько запросов отрабатываются по несколько десятков секунд, при этом  ресурсы CPU почти не потребляются.</strong>Не исключено, что скрипты ожидают ответа от базы данных. В этом случае имеет смысл посмотреть, какие запросы выполняются в этот момент в базе данных.</li>
<li><strong class="light">Множество запросов с одного или нескольких IP, запросы визуально схожи.</strong>Возможно, это флуд. Можно попробовать заблокировать эти IP или сразу соответствующие подсети при помощи механизма <a href="http://masterhost.ru/support/doc/apache/#deny-some-ip">.htaccess</a> и посмотреть, изменится ли ситуация.</li>
<li><strong class="light">Множество запросов с множества разных IP, запросы визуально схожи, один  тип запросов (например, POST).</strong>Возможно, это POST-флуд. Можно попробовать отключить POST-запросы при помощи механизма <a href="http://masterhost.ru/support/doc/apache/#deny-some-ip">.htaccess</a> «<a href="http://httpd.apache.org/docs/1.3/mod/core.html#limit">Limit POST</a>» и посмотреть, изменится ли ситуация. В этом случае может потерять работоспособность какая-либо часть сайта, но по крайней мере, доступ к части сайта, не использующей POST-запросы, будет восстановлен.</li>
</ul>
<p>Источник: <a href="http://masterhost.ru/support/doc/vps-estimate/#memory-vps-fed7" target="_blank">http://masterhost.ru/support/doc/vps-estimate/#memory-vps-fed7</a></p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/news/ocenka-zagruzki-i-proizvoditelnosti-vps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Настройка ns-ов на Plesk</title>
		<link>http://valetsite.org.ua/administrirovanie/nastrojka-ns-ov-na-plesk/</link>
		<comments>http://valetsite.org.ua/administrirovanie/nastrojka-ns-ov-na-plesk/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 08:56:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Крик]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=696</guid>
		<description><![CDATA[После получения второго IP-адреса создание своего NS и делегирование состоит из трех этапов:
* Редактирование шаблонов DNS в Plesk
* Добавление домена или DNS записей
* Делегирование домена на ваш VPS
* Связанные вопросы

1. Редактирование шаблонов DNS в Plesk
В панели Plesk нужно перейти к добавлению новой записи:
* Plesk &#62; Server &#62; DNS &#62; Add New Record
Добавить следующие записи:
«Record type»: A
«Enter domain name»: ns1
«Enter IP [...]]]></description>
			<content:encoded><![CDATA[<p>После получения второго IP-адреса создание своего NS и делегирование состоит из трех этапов:</p>
<p>* Редактирование шаблонов DNS в Plesk<br />
* Добавление домена или DNS записей<br />
* Делегирование домена на ваш VPS<br />
* Связанные вопросы<br />
<span id="more-696"></span></p>
<h4 id="edit-dns-templates" class="distant">1. Редактирование шаблонов DNS в Plesk</h4>
<p>В панели Plesk нужно перейти к добавлению новой записи:</p>
<p>* Plesk &gt; Server &gt; DNS &gt; Add New Record</p>
<p>Добавить следующие записи:</p>
<p>«Record type»: A<br />
«Enter domain name»: ns1<br />
«Enter IP address»: первый-IP-адрес</p>
<p>«Record type»: A<br />
«Enter domain name»: ns2<br />
«Enter IP address»: второй-IP-адрес</p>
<p>«Record type»: NS<br />
«Enter domain name»: здесь ничего не вводите<br />
«Enter nameserver»: ns1.&lt;domain&gt;</p>
<p>«Record type»: NS<br />
«Enter domain name»: здесь ничего не вводите<br />
«Enter nameserver»: ns2.&lt;domain&gt;</p>
<p>Слово &lt;domain&gt; из примера ни на что не заменяйте, оно пишется именно так слитно с ns1. и ns2.</p>
<p>Рекомендуем удалить в шаблонах DNS уже готовые строки (если они там есть):</p>
<p>&lt;domain&gt;. NS ns.&lt;domain&gt;.<br />
ns.&lt;domain&gt;. A &lt;ip&gt;</p>
<h4 id="add-domain">2. Добавление домена или DNS записей</h4>
<p>Если у вас еще не добавлены домены, то добавьте их и тогда все необходимые записи появятся автоматически. Если домены уже добавлены, то зайдите в настройки DNS домена и добавьте следующие записи:</p>
<p>* Plesk &gt; Domains &gt; yoursite.ru &gt; DNS Settings &gt; Add New Record</p>
<p>«Record type»: A<br />
«Enter domain name»: ns1<br />
«Enter IP address»: первый IP адрес</p>
<p>«Record type»: A<br />
«Enter domain name»: ns2<br />
«Enter IP address»: второй IP адрес</p>
<p>«Record type»: NS<br />
«Enter domain name»: здесь ничего не вводите<br />
«Enter nameserver»: ns1.yoursite.ru</p>
<p>«Record type»: NS<br />
«Enter domain name»: здесь ничего не вводите<br />
«Enter nameserver»: ns2.yoursite.ru</p>
<p>Если в DNS домена присутствуют следующие записи, то удалите их:</p>
<p>yoursite.ru. NS ns.yoursite.ru.<br />
ns.yoursite.ru. A какой-то-IP-адрес</p>
<h4 id="domain-delegation">3. Делегирование домена на ваш VPS</h4>
<p>Чтобы делегировать домен, отредактируйте NS записи у вашего регистратора, указав новые NS (обязательно укажите IP-адреса):</p>
<p>ns1.yoursite.ru. 1-й-IP-адрес<br />
ns2.yoursite.ru. 2-й-IP-адрес</p>
<p>По умолчанию, настройки зоны любого домена в Plesk таковы, что параметр обновления (TTL) равен одному дню. Это означает, что все внешние DNS серверы, получающие информацию с VPS о доменах, делегированных на него, будут обращаться за обновлением раз в день.</p>
<p>Можно уменьшить этот параметр, зайдя в «Домены &gt; Имя домена &gt; Настройки DNS &gt; Запись SOA» (в англоязычном интерфейсе «Domains &gt; Имя домена &gt; DNS settings &gt; SOA record») и выставив там нужное значение, например, 15 минут. После этого необходимо подождать сутки, чтобы изменения вступили в силу.</p>
<h4 id="more">Связанные вопросы</h4>
<h4 class="intext">У меня уже есть 2 (и более) IP-адресов. Можно приступать к созданию своих NS?</h4>
<p>Да. Самое главное, чтобы два используемых IP-адреса были из одной группы, но из разных подсетей класса С. Например:</p>
<p>xx.xx.144.xx (первый IP-адрес)<br />
xx.xx.145.xx (второй IP-адрес)</p>
<p>Конечно же, могут использоваться только те IP-адреса, которые были выделены для конкретного VPS-сервера.</p>
<p>Источник: <a href="http://masterhost.ru/support/doc/ns-plesk/" target="_blank">http://masterhost.ru/support/doc/ns-plesk/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/nastrojka-ns-ov-na-plesk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Распаковка архивов *.tar.gz</title>
		<link>http://valetsite.org.ua/administrirovanie/raspakovka-arxivov-targz/</link>
		<comments>http://valetsite.org.ua/administrirovanie/raspakovka-arxivov-targz/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 08:35:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Крик]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=693</guid>
		<description><![CDATA[
Для распаковки архива вида *.tar.gz Используется команда:
tar xvfz *.tar.gz
Используемые в команде ключи

x - позволяет вам извлекать файлы из архива.
v - делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.
f - является обязательной опцией. Без неё tar пытается [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Для распаковки архива вида *.tar.gz Используется команда:</p>
<pre>tar xvfz *.tar.gz
<span id="more-693"></span>Используемые в команде ключи</pre>
<ul>
<li>x - позволяет вам извлекать файлы из архива.</li>
<li>v - делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.</li>
<li>f - является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.</li>
<li>z - позволяет вам обрабатывать архив, сжатый gzip&#8217;ом (с расширением .gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.</li>
</ul>
<p>Источник: <a href="http://citkit.ru/articles/645/" target="_blank">http://citkit.ru/articles/645/</a></div>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/raspakovka-arxivov-targz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Перенос сайта на двиге DLE</title>
		<link>http://valetsite.org.ua/administrirovanie/perenos-sajta-na-dvige-dle/</link>
		<comments>http://valetsite.org.ua/administrirovanie/perenos-sajta-na-dvige-dle/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:47:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[DLE]]></category>

		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Крик]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=689</guid>
		<description><![CDATA[Инфа о том, как переносить сайты на движке ДЛЕ на новый хостинг&#8230;

Итак, вы создали backup и готовы переносить сайт на другой сервер. Для этого в первую очередь вам необходимо создать резервную копию вашей базы данных в MySQL. Зайдите в Админцентр -&#62; Другие разделы -&#62; Настройка базы данных и сохраните вашу базу данных. После этого копия [...]]]></description>
			<content:encoded><![CDATA[<p>Инфа о том, как переносить сайты на движке ДЛЕ на новый хостинг&#8230;</p>
<p><span id="more-689"></span></p>
<p>Итак, вы создали backup и готовы переносить сайт на другой сервер. Для этого в первую очередь вам необходимо создать резервную копию вашей базы данных в MySQL. Зайдите в Админцентр -&gt; Другие разделы -&gt; Настройка базы данных и сохраните вашу базу данных. После этого копия вашей базы данных будет находится в папке /backup/.</p>
<p>Вы готовы к тому чтобы копировать все файлы на сервер, скопируйте все файлы на ваш новый хостинг включая все папки, в том числе и папку backup. Далее рекомендую произвести новую установку скрипта на сервере, используя при этом install.php. Рекомендуется именно это действие, т.к. скрипт установки проверит все права на запись на нужные папки, и скажет где они у вас отсутствуют и их необходимо поставить. Также будет настроено MySQL соединение именно на этот сервер, а не на ваш бывший (можно конечно и вручную конфиг отредактировать, но так будет проще).</p>
<p>После того как вы произвели новую установку скрипта, то вы должны опять зайти в Админцентр -&gt; Другие разделы -&gt; Настройка базы данных, и произвести восстановление резервной копии базы данных.</p>
<p>После этого на главной странице админцентра DLE нажмите «Очистить кеш».</p>
<p>Вот и все, ваш сайт успешно перенесен, довольно быстро и с минимальными потерями.</p>
<p>1)Дамп базы(делаем через дле обезательно)<br />
2)Дамп папки <strong>uploads</strong><br />
3)Дамп папки engine/cache/<strong>system</strong><br />
4)Дамп папки engine/<strong>data</strong>(emoticons-зависит от того, кидали ли вы туда новые смайлы)<br />
5)Дамп <strong>templates</strong>(опять же если шаба нету)<br />
<span style="color: red;">Ставим:</span><br />
1)Заливаем свежую дле и ставим заново<br />
2)Заменяем папку engine/cache/<strong>system</strong> <span style="text-decoration: underline;">ПОЛНОСТЬЮ</span> и заменяем там все файлы<br />
4)Заливаем <strong>uploads</strong> папку на сервак<br />
5)Заливаем шаблон<br />
6)Заливает дамп из папки backup в папку backup на новом серваке<br />
7)Заливаем папку engine/<strong>data</strong> за исключением <span style="text-decoration: underline;">dbconfig.php</span> и заменяем там все файлы<br />
8)Заходим в админку в меню базы данных и востанавливаем базу</p>
<p>И не*** мне тут говорить что всегда косяки, максимум косяк может быть в потере изображений, когда сливаешь и заливаешь папку уплоадс</p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/perenos-sajta-na-dvige-dle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL manager or server PID file could not be found!</title>
		<link>http://valetsite.org.ua/administrirovanie/mysql-manager-or-server-pid-file-could-not-be-found/</link>
		<comments>http://valetsite.org.ua/administrirovanie/mysql-manager-or-server-pid-file-could-not-be-found/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:20:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Крик]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=682</guid>
		<description><![CDATA[killall -9 mysqld
killall -9 exim
killall -9 httpd
сам нашел  
Don’t Panic if you get this error when you start, restart or stop your mysql engine.
I get error like this "/etc/init.d/mysql: /usr/local/bin/hostname: not found
/etc/init.d/mysql: /usr/local/bin/hostname: not found
ERROR! MySQL manager or server PID file could not be found!"
when i restart the mysql, yes..dont panic,
solved:
# ps -ef &#124;grep [...]]]></description>
			<content:encoded><![CDATA[<p>killall -9 mysqld</p>
<p>killall -9 exim</p>
<p>killall -9 httpd</p>
<p>сам нашел <img src='http://valetsite.org.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Don’t Panic if you get this error when you start, restart or stop your mysql engine.<br />
I get error like this <code>"/etc/init.d/mysql: /usr/local/bin/hostname: not found<br />
/etc/init.d/mysql: /usr/local/bin/hostname: not found<br />
ERROR! MySQL manager or server PID file could not be found!"</code><br />
when i restart the mysql, yes..dont panic,</p>
<p>solved:<br />
<code># ps -ef |grep mysql|awk '{print $2}'|xargs kill -9 </code></p>
<p><span id="more-682"></span><code># vi /tmp/mysql.sock</code><br />
<code># chown -R mysql:mysql mysql.sock </code><br />
<code># which mysql</code></p>
<blockquote><p>/usr/local/mysql/bin/mysql</p></blockquote>
<p><code># find / -name hostname</code></p>
<blockquote><p>/usr/bin/hostname<br />
/usr/ucb/hostname</p></blockquote>
<p><code># ln -s /usr/bin/hostname /usr/local/bin/hostname</code><br />
<code># vi /etc/init.d/mysql</code></p>
<p>find<br />
<code>basedir=<br />
datadir=</code></p>
<p>change with</p>
<p><code>basedir=/usr/local/mysql<br />
datadir=/usr/local/mysql/var</code></p>
<p><code># /etc/init.d/mysql start</code></p>
<p>Источник: <a href="http://sysinfo.bascomp.org/2007/09/error-mysql-manager-or-server-pid-file-could-not-be-found/">http://sysinfo.bascomp.org/2007/09/error-mysql-manager-or-server-pid-file-could-not-be-found/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/mysql-manager-or-server-pid-file-could-not-be-found/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Установка nginx</title>
		<link>http://valetsite.org.ua/administrirovanie/ustanovka-nginx/</link>
		<comments>http://valetsite.org.ua/administrirovanie/ustanovka-nginx/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 09:10:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[DLE]]></category>

		<category><![CDATA[Kino4SMS]]></category>

		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Крик]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=676</guid>
		<description><![CDATA[
nginx
nginx — это HTTP-сервер и почтовый прокси-сервер, разработанный замечательным специалистом Игорем Сысоевым.  Сейчас nginx работает на множестве серверов, в том числе на большинстве серверов Рамблера.

Установка nginx
Переходим в /usr/local:
# cd /usr/local
Создаем директорию:
# mkdir nginx
Переходим в директорию /usr/local/nginx:
# cd nginx
Загружаем дистрибутив:
# wget http://www.sysoev.ru/nginx/nginx-0.7.61.tar.gz
Распаковываем:
# tar zxf nginx-0.7.61.tar.gz
Переходим в директорию nginx-0.7.61:
# cd nginx-0.7.61
Конфигурируем:
# ./configure
Собираем nginx:
# make
Устанавливаем nginx:
# make install
nginx [...]]]></description>
			<content:encoded><![CDATA[<div class="content_inland" style="margin-right: 50px;">
<h1>nginx</h1>
<p>nginx — это HTTP-сервер и почтовый прокси-сервер, разработанный замечательным специалистом <a href="http://www.sysoev.ru/" target="_blank">Игорем Сысоевым</a>.  Сейчас nginx работает на множестве серверов, в том числе на большинстве серверов Рамблера.</p>
<p><span id="more-676"></span><a title="install" name="install"></a></p>
<h2>Установка nginx</h2>
<p>Переходим в /usr/local:</p>
<div id="unix"># cd /usr/local</div>
<p>Создаем директорию:</p>
<div id="unix"># mkdir nginx</div>
<p>Переходим в директорию /usr/local/nginx:</p>
<div id="unix"># cd nginx</div>
<p>Загружаем дистрибутив:</p>
<div id="unix"># wget http://www.sysoev.ru/nginx/nginx-0.7.61.tar.gz</div>
<p>Распаковываем:</p>
<div id="unix"># tar zxf nginx-0.7.61.tar.gz</div>
<p>Переходим в директорию nginx-0.7.61:</p>
<div id="unix"># cd nginx-0.7.61</div>
<p>Конфигурируем:</p>
<div id="unix"># ./configure</div>
<p>Собираем nginx:</p>
<div id="unix"># make</div>
<p>Устанавливаем nginx:</p>
<div id="unix"># make install</div>
<p>nginx будет установлен в каталог /usr/local/nginx/, директорию nginx-0.7.61 можно удалить.</p>
<h2>Конфигурируем Apache</h2>
<p>Откройте для редактирования файл <em>/etc/httpd/conf/httpd.conf</em>.</p>
<p>Укажем Apache на просмотр порта 8080, а не 80, для этого строку</p>
<p><span class="quotestyle"> Listen 8080</span></p>
<p>указываем вместо</p>
<p><span class="quotestyle"> Listen 80</span></p>
<p>и добавим строку:</p>
<p class="quotestyle">NameVirtualHost *:8080</p>
<p>Необходимо откорректировать по адресу /var/www/vhosts/site.ru/conf/httpd.include или другом файле с описанием VirtualHost-ов на сервер, в файле заменяем:</p>
<p class="quotestyle">&lt;VirtualHost [IP-адрес или домен]:80&gt;</p>
<p>на</p>
<p><span class="quotestyle"> &lt;VirtualHost *:8080&gt;</span></p>
<p>Перезапускаем Apache:</p>
<div id="unix"># service httpd restart</div>
<p><a title="real_ip" name="real_ip"></a></p>
<h2>Реальные IP-адреса</h2>
<p>При использовании типовой конфигурации nginx, Apache будет получать все запросы с единого IP-адреса, что не позволит вести корректную статистику.</p>
<p>Для решения проблемы необходимо установить дополнительный модуль reverse proxy add forward module.</p>
<p>Переходим в /usr/local/nginx:</p>
<div id="unix"># cd /usr/local/nginx</div>
<p>Загружаем дистрибутив:</p>
<div id="unix"># wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.5.tar.gz</div>
<p>Распаковываем:</p>
<div id="unix"># tar -zxf mod_rpaf-0.5.tar.gz</div>
<p>Переходим в /usr/local/nginx/mod_rpaf-0.5:</p>
<div id="unix"># cd /usr/local/nginx/mod_rpaf-0.5</div>
<p>Устанавливаем</p>
<div id="unix"># apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c</div>
<p>Или</p>
<div id="unix"># apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c</div>
<p>Добавим строку загрузки модуля в <em>/etc/httpd/conf/httpd.conf:</em></p>
<p class="quotestyle">LoadModule rpaf_module modules/mod_rpaf-2.0.so</p>
<p>и настройки модуля:</p>
<p class="quotestyle"># Mod_rpaf settings<br />
RPAFenable On<br />
RPAFproxy_ips 127.0.0.1<br />
RPAFsethostname On</p>
<p>Перезапускаем Apache:</p>
<div id="unix"># service httpd restart</div>
<h2>Проблемы конфигурирования</h2>
<p><strong>Возможно, при конфигурировании возникнет ошибка из-за того, что не найдена та или иная библиотека, например, библиотека PCRE:</strong></p>
<blockquote>
<pre>./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.</pre>
</blockquote>
<p>Необходимо загрузить PCRE:</p>
<div id="unix"># wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz</div>
<p>Распаковываем pcre-7.7.tar.gz:</p>
<div id="unix"># tar zxf pcre-7.7.tar.gz</div>
<p>Конфигурируем nginx, указывая путь к PCRE:</p>
<div id="unix"># ./configure &#8211;with-pcre=/usr/local/nginx/nginx-0.7.61/pcre-7.7</div>
<p><strong>Отсутствует apxs или apxs2</strong></p>
<p>Необходимо установить httpd-devel, выполним:</p>
<div id="unix"># yum install httpd-devel</div>
<p><a title="config" name="config"></a></p>
<h2>Настройка nginx</h2>
<p>Конфигурационный файл nginx располагается <em>/usr/local/nginx/conf/nginx.conf</em></p>
<p>Пример конфигурационного файла:</p>
<div class="quotestyle">
<blockquote>
<pre>worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format main  '$remote_addr - $remote_user [$time_local] $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "http_x_forwarded_for"';

    # access_log /var/log/nginx/access.log main;

    sendfile       on;
    tcp_nopush     on;
    tcp_nodelay    on;

    server {
        listen       80 default;
        server_name  site.ru www.site.ru;
        # access_log  /var/log/httpd/access.log  main;

        # Main location
        location / {
            proxy_pass         http://127.0.0.1:8080/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }

        # Static files location
        location ~*^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$
        {
            root   /var/www/vhosts/site.ru/httpdocs/;
        }

    }

Источник: <a href="http://www.hostcms.ru/documentation/server/nginx/" target="_blank">http://www.hostcms.ru/documentation/server/nginx/</a>
}</pre>
</blockquote>
</div>
<p>В секции <em>server_name  site.ru www.site.ru;</em> указывается список доменов, которые будут обрабатываться nginx.</p>
<p>nginx берет на себя функции по отдаче статики, например графических файлов. Список расширений указывается в следующем блоке:</p>
<div class="quotestyle">
<p># Static files location</p>
<p>location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {</p>
<p>root   /var/www/vhosts/<strong>site.ru</strong>/httpdocs/;</p>
<p>}</p></div>
<p>Не забудьте указать корректный путь к корневой директории сайта.</p>
<p><a title="autoload" name="autoload"></a></p>
<h2>Автоматический запуск nginx</h2>
<p>Для автоматического запуска добавим строку в <em>/</em><em>etc/</em><em>rc.</em><em>local</em></p>
<p class="quotestyle">/usr/local/nginx/sbin/nginx</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/ustanovka-nginx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Консольные команды MySql</title>
		<link>http://valetsite.org.ua/administrirovanie/konsolnye-komandy-mysql/</link>
		<comments>http://valetsite.org.ua/administrirovanie/konsolnye-komandy-mysql/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 07:49:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Kino4SMS]]></category>

		<category><![CDATA[Администрирование]]></category>

		<category><![CDATA[Файлообменники]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=672</guid>
		<description><![CDATA[Команды MySQL
Консоль MySQL позволяет вводить как инструкции SQL, так и служебные команды MySQL, предназначеные для администрирования и использования таблиц в базах данных MySQL. К основным командам относятся SHOW, USE и CREATE. Рассмотрим каждую из них отдельно.


SHOW
Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо [...]]]></description>
			<content:encoded><![CDATA[<h1 class="header" style="color: #696969;">Команды MySQL</h1>
<div id="hypercontext">Консоль MySQL позволяет вводить как инструкции SQL, так и служебные команды MySQL, предназначеные для администрирования и использования таблиц в базах данных MySQL. К основным командам относятся SHOW, USE и CREATE. Рассмотрим каждую из них отдельно.</div>
<div><span id="more-672"></span></div>
<div id="hypercontext">
<h3>SHOW</h3>
<p>Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо ввести такую команду:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SHOW DATABASES;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Если, например, существуют две базы данных - mysql и test (эти две базы как правило создаются автоматически при инсталляции сервера), то MySQL ответит примерно так:</p>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;-+<br />
| Database |<br />
+&#8212;&#8212;&#8212;-+<br />
| mysql    |<br />
| test     |<br />
+&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Для просмотра списка таблиц используется эта же команда в таком виде:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SHOW TABLES;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Эта команда выдаст список таблиц в текущей базе данных:</p>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
| Tables in mysql |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
| test            |<br />
| mysql           |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Замечание: вы можете работать только с одной базой данных в одно и то же время, поэтому в приведенном выше примере нет нужды указывать название базы данных, список таблиц которой стоит вывести, поскольку производится поиск в активной на данный момент базе.</p>
<h3>CREATE</h3>
<p>Эта команда позволяет создавать новые базы данных. Как было сказано выше, по умолчанию сервер создает две базы данных - mysql и test. Для удобства стоит создавать новую базу данных для каждой отдельной задачи, потому что легче работать с набором таблиц, которые связаны между собой (даже если эта связь только смысловая). Создадим новую базу данных при помощи этой команды:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>CREATE DATABASE staff</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>После этой операции будет создана новая база данных не содержащая никаких таблиц, а команда SHOW DATABASES выдаст следующее:</p>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;-+<br />
| Database |<br />
+&#8212;&#8212;&#8212;-+<br />
| mysql    |<br />
| test     |<br />
| staff    |<br />
+&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<h3>USE</h3>
<p>Как уже было сказано выше, в один и тот же момент только одна база данных может быть активна. Команда USE служит для выбора этой активной базы. Для перехода к некоторой базе данных необходимо выполнить следующую операцию:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>USE staff</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Стоит отметить, что при создании новой базы данных (см. выше), новая база не становится активной автоматически - для ее использования необходимо сделать это самостоятельно.</p>
<h3>SQL</h3>
<p>Нижеследующее ознакомит вас с методами извлечения и занесения данных в таблицы при помощи языка SQL.</p>
<h3>Просмотр данных</h3>
<p>Наипростейшей командой является следующая:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT * FROM mysql;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Эта команда подразумевает, что в активной базе данных существует таблица mysql, из которой она просто извлекает все данные и выводит их на экран.</p>
<p>Замечание: На SQL-команды распространяется одно ограничение, которое не имеет отношения к командам MySQL - инструкции SQL обязательно должны заканчиваться точкой с запятой. Это позволяет вводит многострочные запросы к бызе данных, что не требуется для MySQL-команд, которые как правило лаконичные и короткие.</p>
<p>Как вы уже наверное поняли, команда SELECT служит для просмотра данных таблиц. Ее упрощенный синтаксис таков:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT &lt;список полей&gt; FROM &lt;список названий таблиц&gt; [WHERE &lt;список условий&gt;] [ORDER BY &lt;список полей&gt;];</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>В списке поля может быть как один элемент, так и несколько; кроме того возможно указание символа &#8220;*&#8221; (), который говорит, что следует показать все поля таблицы. Часть WHERE &#8230; является необязательной и позволяет выбрать из таблицы строки, удовлетворяющие определенному(ым) условию(ям). Раздел ORDER BY &#8230; служит для сортировки полученных данных по определенным полям.</p>
<p>Вот пример более сложного запроса, демонстрирующий сказанное выше. Допустим таблица staff содержит информацию о сотрудниках некоторой организации. Этот запрос находит записи о тех из них, кто работает больше двух лет и кого не зовут Иваном.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT name, project, works_since<br />
FROM staff<br />
WHERE<br />
name &gt; &#8216;Иван&#8217; AND<br />
works_since &#8216;1998-04-26&#8242;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Рассмотрим этот запрос. Первая строка велит MySQL показать содержимое только полей name, project и works_since. Вторая строка указывает на таблицу, в которой следует искать эти данные. Оставшаяся часть запроса указывает критерии выбора - имя не должно быть &#8216;Иван&#8217;, а дата быть более ранней, чем 26-е апреля 1998-го года. Вот пример вывода после такой операции:</p>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+<br />
| name     | project      | works_since |<br />
+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+<br />
| Fred     | Secret data  | 1997-01-01  |<br />
| Jonathan | Blue apples  | 1997-06-01  |<br />
+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Для показа данных одного поля может использоваться такой запрос:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT project FROM staff ORDER BY project;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;&#8212;-+<br />
| project     |<br />
+&#8212;&#8212;&#8212;&#8212;-+<br />
| Blue apples |<br />
| Blue apples |<br />
| Cornichons  |<br />
| Secret data |<br />
| Secret data |<br />
| Secret data |<br />
+&#8212;&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Как видите, этот запрос просто выбирает значения из нужного поля из каждой строки и выводит их, заодно сортируя по (единственному) полю project, поэтому в результатах встречаются повторения. Для устранения их используется инструкция DISTINCT:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT DISTINCT project FROM staff ORDER BY project;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;&#8212;-+<br />
| project     |<br />
+&#8212;&#8212;&#8212;&#8212;-+<br />
| Blue apples |<br />
| Cornichons  |<br />
| Secret data |<br />
+&#8212;&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>SQL позволяет производить некоторые вычисления и получать некоторую описательную информацию при помощи агрегатных функций. Среди этих функций - COUNT, SUM, MAX, MIN и AVG.</p>
<p>COUNT - вычисляет количество найденых строк<br />
SUM - находит сумму значений в найденых строках<br />
MAX - находит найбольшее среди найденых значений<br />
MIN - находит наименьшее среди найденых значений<br />
AVG - находит среднее значение от найденых</p>
<p>Используются эти функции как элементы списка таблиц в запросе с аргументом - названием поля. Вот несколько примеров.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT COUNT (project) FROM staff;<br />
SELECT MAX (projects_done) FROM staff;<br />
SELECT AVG (project_done) FROM staff</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Эти запросы находят количество выполняемых проектов, наибольшее количество проектов, выполняемое одним человеком и среднее количество проектов, в которых участвуют работники соответственно.</p>
<p>SQL также располагает средствами работы с регулярными выражениями (работе с которыми в Perl вы можете ознакомиться, прочтя соответствующую статью на нашем сайте). Для сравнения значения с регулярным выражением используется оператор LIKE, а для конструирования простеших выражений - символы &#8216;_&#8217; (произвольный символ) и &#8216;%&#8217; (произвольное количество произвольных символов). Пример. Этот запрос находит все имена, которые начинаются с &#8216;Jo&#8217;:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT name FROM staff<br />
WHERE name LIKE &#8216;Jo%n&#8217;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;-+<br />
| name     |<br />
+&#8212;&#8212;&#8212;-+<br />
| Jonathan |<br />
| John     |<br />
+&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>MySQL также позволяет производить более развитое сравнение с шаблоном при помощи оператора REGEXP и средств построения шаблона теми же методами, что используются в Perl (см. Регулярные выражения в Perl).</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT name, project FROM staff<br />
WHERE project REGEXP &#8220;[bB]&#8220;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Этот запрос выведет все строки, в которых название проекта содержит букву &#8216;b&#8217; вне зависимости от регистра.</p>
<p>И последнее по порядку, но не по значению - использование более чем одной таблицы. Особенность заключается в том, что используемые таблицы могут иметь общие поля, которыми они связаны. Для того, чтобы точно указывать, о поле какой таблицы идет речь, используется запись типа staff.project, где перед точкой стоит название таблицы, а после нее - название поля. Второй вариант - назначения псевдонимов (алиасов) таблицам для большего удобства. Для этого в списке таблиц название каждой таблицы указывается вместе с псевдонимом - например stuff x, projects y.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT x.name, x.project, x.description<br />
FROM staff x, projects x<br />
WHERE<br />
x.project = x.project_name;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>В этом примере объединяются таблицы staff и projects, причем выводятся имя сотрудника, проект над которым он работает и описание этого проекта.</p>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| name     | project     | description                  |<br />
+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br />
| Jonathan | Blue apples | Worldwide apple distribution |<br />
| Fred     | Secret data | Secret data                  |<br />
| John     | Secret data | Secret data                  |<br />
+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Объединив все это в один запрос получим следующее:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>SELECT DISTINCT y.project_name, y.description, COUNT(x.name), FROM staff x, projects yWHERE<br />
y.project_name = x.project AND<br />
y.project_name &gt; &#8216;Secret data&#8217; AND<br />
y.project_name LIKE &#8220;Wo__d%&#8221;<br />
ORDER BY<br />
project_name;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+<br />
| project_name | description              | COUNT(name) |<br />
+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+<br />
| Blue apples  | Worldwide apple delivery | 3           |<br />
+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;-+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Этот запрос показывает названия проектов, описания их и количество сотрудников, которые заняты в них для тех проектов, которые не являются секретными и описания которых начинаются с &#8216;Wo&#8217;, следом за которыми идут еще два символа, после чего - &#8216;d&#8217; и дальше что угодно, и сортирует единственное значение по полю project_name.</p>
<h3>Редактирование данных</h3>
<p>Редактирование данных - это добавление, удаление и изменение их. Для выполнения этих операций используются команды INSERT, DELETE и UPDATE соответственно.</p>
<p>Команда INSERT служит для вставки строк в таблицы. Вот как может выглядеть такой запрос:</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>INSERT INTO staff VALUES (&#8221;Robert&#8221;, &#8220;1980-05-07&#8243;, &#8220;2000-04-26&#8243;,<br />
&#8220;$100&#8243;, &#8220;Secret data&#8221;);</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Возможна также вставка отдельных значений. В таком случае необходимо указать, в какие поля стоит вставлять данные, причем оставшиеся поля будут незаполнены - при выполнении запросов SELECT они будут представлены как NULL - специальное начение, означающее, что данное отсутствует.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>INSERT INTO staff(name, date_of_birth) VALUES (&#8221;Jack&#8221;, &#8220;1977-07-29&#8243;);</p>
<p>SELECT * FROM staff<br />
WHERE name = &#8220;Jack&#8221;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<table class="pre" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;+<br />
| name | date_of_birth | works_since | project | sallary |<br />
+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;+<br />
| Jack | 1997-07-29    | NULL        | NULL    | NULL    |<br />
+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;+</td>
</tr>
<tr>
<td title="pre"></td>
</tr>
</tbody>
</table>
<p>Удаление данных производится командой DELETE. Для этого нужно указать таблицу и (необязательно) условия, которым должны удовлетворять строки, которые следует удалить. Если условия опущены, эта команда, как и SELECT, проделает эту операцию надо всеми строками - то есть очистит таблицу.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>DELETE FROM staff<br />
WHERE<br />
name = &#8220;Jack&#8221;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
<p>Изменение данных производится при помощи команды UPDATE. Необходимо указать, значения каких полей следует изменить, а также (опять же необязательно) условия, которым должны удовлетворять строки, которые следует обновить.</p>
<table class="code" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>UPDATE staff<br />
SET<br />
works_since = &#8220;2000-04-26&#8243;<br />
sallary = &#8220;$200&#8243;<br />
project = &#8220;Secret data&#8221;<br />
WHERE<br />
name = &#8220;Jack&#8221;;</td>
</tr>
<tr>
<td title="code"></td>
</tr>
</tbody>
</table>
</div>
<div id="hypercontext">Этот запрос устанавливает дату принятия на работу, зарплату и название проекта всем Джекам, которые находятся в базе данных.</p>
<p>Это небольшая часть языка SQL, необходимая для работы с MySQL, в частности при программировании для Web. Для более полной информации обратитесь к официальным спецификациям SQL или к документации MySQL. Примечание для тех, кто знаком со стандартом ANSI SQL 92: на данный момент MySQL поддерживает укороченную версию этого стандарта, в которую не входит выполнения подзапросов а также некоторые другие функции.</p></div>
<div>Источник: <a href="http://www.internet-technologies.ru/articles/article_106.html" target="_blank">http://www.internet-technologies.ru/articles/article_106.html</a></div>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/administrirovanie/konsolnye-komandy-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Загрузка файлов на сервер по HTTP-протоколу с использованием PHP</title>
		<link>http://valetsite.org.ua/krik/php-fily-bolee-2gb/</link>
		<comments>http://valetsite.org.ua/krik/php-fily-bolee-2gb/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 09:38:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Kino4SMS]]></category>

		<category><![CDATA[Крик]]></category>

		<category><![CDATA[Файлообменники]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://valetsite.org.ua/?p=660</guid>
		<description><![CDATA[PHP и HTML формы для загрузки файлов

В некоторых ситуациях может потребоваться загрузка файлов на сервер не по FTP-протоколу, а по HTTP. Наиболее часто такая загрузка встречается на форумах, предоставляющих возможность участникам выбирать картинки для визуализации, или в баннерных сетях, где участник сети должен предоставлять свои баннеры. Может она пригодиться и в других ситуациях.

Скрипт загрузки опирается [...]]]></description>
			<content:encoded><![CDATA[<h2><a name="1"></a>PHP и HTML формы для загрузки файлов</h2>
<div class="prim">
<p>В некоторых ситуациях может потребоваться загрузка файлов на сервер не по FTP-протоколу, а по HTTP. Наиболее часто такая загрузка встречается на форумах, предоставляющих возможность участникам выбирать картинки для визуализации, или в баннерных сетях, где участник сети должен предоставлять свои баннеры. Может она пригодиться и в других ситуациях.</p></div>
<p><span id="more-660"></span></p>
<p>Скрипт загрузки опирается на следующую HTML-форму:</p>
<pre>&lt;form enctype="multipart/form-data" action="&lt;?=$_SERVER['SCRIPT_NAME']?&gt;" method="post"&gt;
&lt;input type="hidden" name="MAX_FILE_SIZE" value="1000"&gt;
Отправить файл: &lt;input name="myfile" type="file"&gt;
&lt;input type="submit" value="Выполнить"&gt;
&lt;/form&gt;</pre>
<p>В этой форме обязательно применяется метод POST, так как только этим методом допускается отправка файлов и тип кодирования multipart/form-data (как в письмах с вложением), поскольку этот запрос является запросом с вложением. Так же в ней может применяться встроенная переменная MAX_FILE_SIZE<a name="href1" href="http://webdesign.site3k.net/conjuncture/append/d/upload.html#1s"><sup>1</sup></a> , указывающая допустимый размер отправляемого файла в байтах. Переменная MAX_FILE_SIZE не является обязательной, но если используется, обязана указываться до указания поля файла.</p>
<p>Использование переменной MAX_FILE_SIZE не гарантирует того что, посетитель не сможет отправить файл большей величины. Для ее обхода злонамеренному или небрежному посетителю достаточно использовать собственную форму на своем сайте, отправляющую запрос на ваш скрипт. Для полной гарантии, скрипт должен проверять, во-первых, переменную $HTTP_REFERER (откуда пришел запрос), во-вторых, установлена ли переменная MAX_FILE_SIZE и соответствует ли она заданному значению, в-третьих, не превышает ли размер загруженного файла значение переменной MAX_FILE_SIZE. Проверка трех этих условий дает полную гарантию того что, ситуация развивается строго по ВАШЕМУ сценарию.</p>
<p>Полученный из формы файл помещается в каталог для временных файлов (сведенья о котором можно получить по переменной upload_tmp_dir) и по окончании работы скрипта автоматически уничтожается. Пока скрипт работает, и файл не уничтожен, его содержимое можно вывести на страницу, функцией</p>
<pre>readfile(Имя_временного_файла_на_сервере);</pre>
<p>или скопировать (переместить) в целевой каталог функциями (если целевой файл уже существует, он молча заменяется новым)</p>
<pre>copy(Имя_временного_файла_на_сервере, "результирующее_имя");</pre>
<p>или</p>
<pre>move_uploaded_file(Имя_временного_файла_на_сервере, "результирующее_имя");</pre>
<div class="Prim">
<p>Если содержимое файла помещается в массив или переменную величина файла не должна превышать значение переменной memory_limit, устанавливающей максимальное количество оперативной памяти доступной скрипту (если таковая установлена).</p>
<p>Для копирования или перемещения файла в заданный каталог, на этом каталоге должны стоять атрибуты 777, которые можно установить с помощью ftp-клиента или PHP-функции chmod(&#8221;имя_каталога&#8221;, 0777).</p></div>
<p>Знание реального имени временного файла не требуется для выполнения этих действий. После получения данных скриптом сведенья о файле доступны через специальные переменные и массивы ключом к которым является атрибут name элемента input type=&#8221;file&#8221; отправившей его формы. Так, если имя этого элемента «myfile», ключом к данным о файле будет «myfile» и все сведенья о нем можно получить по трем схемам:</p>
<table border="0" cellspacing="0" rules="all">
<caption>Обращение по имени переменной заданной в поле файла:</caption>
<tbody>
<tr>
<th>Переменная</th>
<th>Содержание</th>
</tr>
<tr>
<td>$myfile_name</td>
<td>Имя файла на компьютере</td>
</tr>
<tr>
<td>$myfile_type</td>
<td>MIME-тип файла (если его сообщил браузер)</td>
</tr>
<tr>
<td>$myfile</td>
<td>Имя временного файла на сервере</td>
</tr>
<tr>
<td>$myfile_size</td>
<td>Размер файла</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" rules="all">
<caption>Обращение через массив $HTTP_POST_FILES с использованием переменной заданной в поле файла:</caption>
<tbody>
<tr>
<th>Переменная</th>
<th>Содержание</th>
</tr>
<tr>
<td>$HTTP_POST_FILES['myfile']['name']</td>
<td>Имя файла на компьютере</td>
</tr>
<tr>
<td>$HTTP_POST_FILES['myfile']['type']</td>
<td>MIME-тип файла (если его сообщил браузер)</td>
</tr>
<tr>
<td>$HTTP_POST_FILES['myfile']['tmp_name']</td>
<td>Имя временного файла на сервере</td>
</tr>
<tr>
<td>$HTTP_POST_FILES['myfile']['size']</td>
<td>Размер файла</td>
</tr>
<tr>
<td>$HTTP_POST_FILES['myfile']['error']</td>
<td>Код ошибки, возникшей при загрузке файла</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" rules="all">
<caption>Обращение через массив $_FILES с использованием переменной заданной в поле файла:</caption>
<tbody>
<tr>
<th>Переменная</th>
<th>Содержание</th>
</tr>
<tr>
<td>$_FILES['myfile']['name']</td>
<td>Имя файла на компьютере</td>
</tr>
<tr>
<td>$_FILES['myfile']['type']</td>
<td>MIME-тип файла (если его сообщил браузер)</td>
</tr>
<tr>
<td>$_FILES['myfile']['tmp_name']</td>
<td>Имя временного файла на сервере</td>
</tr>
<tr>
<td>$_FILES['myfile']['size']</td>
<td>Размер файла</td>
</tr>
<tr>
<td>$_FILES['myfile']['error']</td>
<td>Код ошибки, возникшей при загрузке файла</td>
</tr>
</tbody>
</table>
<p>Генерируемый PHP код ошибки имеет следующие значения:</p>
<ul>
<dt>0 – ошибок не было, файл загружен. </dt>
<dt>1 – размер загруженного файла превышает размер установленный параметром upload_max_filesize в php.ini </dt>
<dt>2 – размер загруженного файла превышает размер установленный параметром MAX_FILE_SIZE в HTML-форме. На обычных файлах это работает, но при загрузке ярлыка к программе возникал казус: вместо ярлыка загружалась программа размером больше допустимого и генерация ошибки не происходила, так как эксплорер посылал на сервер размер ярлыка (а уже после загрузки, PHP определял реальный размер файла). </dt>
<dt>3 – загружена только часть файла </dt>
<dt>4 – файл не был загружен (пользователь в форме указал неверный путь к файлу). </dt>
<dt>Эти значения можно использовать для определения дальнейшего поведения скрипта. Так же можно использовать функцию </dt>
</ul>
<pre>is_uploaded_file(Имя_временного_файла_на_сервере)</pre>
<p>Проверяющую, был ли файл загружен.</p>
<p>Для загрузки нескольких файлов следует помещать в форму несколько элементов типа file, имеющих разные имена или несколько полей, в имени которых используется массив:</p>
<pre>&lt;input name="myfile[]" type="file"&gt;</pre>
<p>В данном случае имена файлов будут доступны по дополнительному ключу массива:</p>
<p>Для первого файла</p>
<pre>$_FILES['myfile']['name'][0]
$_FILES['myfile']['type'][0]
$_FILES['myfile']['tmp_name'][0]
$_FILES['myfile']['size'][0]
$_FILES['myfile']['error'][0]</pre>
<p>Для второго файла</p>
<pre>$_FILES['myfile']['name'][1]
$_FILES['myfile']['type'][1]
$_FILES['myfile']['tmp_name'][1]
$_FILES['myfile']['size'][1]
$_FILES['myfile']['error'][1]</pre>
<p>И так далее.</p>
<p>Таковы теоретические основы загрузки файлов на сервер по HTTP-протоколу с использованием PHP и форм с элементом type=&#8221;file&#8221;. А так выглядит практический скрипт для выполнения этой задачи:</p>
<h2><a name="2"></a>PHP-скрипт для загрузки файлов по HTTP-протоколу</h2>
<p><textarea cols="60" rows="20" readonly="readonly">&lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&#8221;content-type&#8221; content=&#8221;text/html; charset=windows-1251&#8243;&gt; &lt;title&gt;Загрузка файлов на сервер&lt;/title&gt; &lt;META http-equiv=&#8221;Expires&#8221; content=&#8221;Mon, 26 Jul 1997 05:00:00 GMT&#8221;&gt; &lt;META http-equiv=&#8221;Cache-Control&#8221; content=&#8221;no-cache, must-revalidate&#8221;&gt; &lt;META http-equiv=&#8221;Pragma&#8221; content=&#8221;no-cache&#8221;&gt; &lt;META http-equiv=&#8221;Last-Modified&#8221; content=&#8221;&lt;?=gmdate(&#8221;D, d M Y H:i:s&#8221;)?&gt;&#8221;&gt; &lt;META NAME=&#8221;ROBOTS&#8221; CONTENT=&#8221;noindex, nofollow&#8221;&gt; &lt;meta name=&#8221;Description &#8220;content=&#8221;"&gt; &lt;meta name=&#8221;Keywords&#8221; content=&#8221;"&gt; &lt;meta name=&#8221;Author&#8221; content=&#8221;Красносельский К. К.&#8221;&gt; &lt;/head&gt; &lt;body&gt; &lt;center&gt; &lt;? if (@$send){ if (@$_FILES['myfile']['name']){ $errortext=array(0 =&gt; &#8216;Файл загружен.&#8217;, 1 =&gt; &#8216;Превышение размеров допускаемых сервером.&#8217;, 2 =&gt; &#8216;Превышение разрешенного формой размера&#8217;, 3 =&gt; &#8216;Загрузка не завершена.&#8217;, 4 =&gt; &#8216;Файл не загружен. Вероятно указан неверный путь.&#8217;); $newfilename = &#8216;Результирующие_имя_и_путь&#8217;; if (@is_uploaded_file($_FILES['myfile']['tmp_name'])) { echo &#8216;&lt;p&gt;Копирование файла &#8216;.$newfilename; if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $newfilename)){ echo &#8216;&lt;p&gt;Файл загружен, но не перемещен в &#8216;.$newfilename; }else{// &#8216;.$_FILES['myfile']['tmp_name'].&#8217; echo &#8216;&lt;p&gt;Файл перемещен в файл &#8216;.$newfilename; }// &#8216;.$_FILES['myfile']['tmp_name'].&#8217; } else { echo &#8216;&lt;p&gt;&lt;font color=red&gt;Не удается загрузить файл. &#8216;.$errortext[$_FILES['myfile']['error']].&#8217;&lt;/font&gt;&#8217;; } }else{ echo &#8216;&lt;p&gt;&lt;font color=red&gt;Не указано имя файла!&lt;/font&gt;&#8217;; } } ?&gt; &lt;P&gt;&amp;nbsp;&lt;/p&gt; &lt;form enctype=&#8221;multipart/form-data&#8221; action=&#8221;&lt;?=$_SERVER["PHP_SELF"]?&gt;&#8221; method=&#8221;post&#8221;&gt; Файл:&lt;input name=&#8221;myfile&#8221; type=&#8221;file&#8221; SIZE=60&gt; &lt;input type=&#8221;submit&#8221; value=&#8221;Выполнить&#8221; name=send&gt; &lt;/form&gt; &lt;/center&gt; &lt;/body&gt; &lt;/html&gt; </textarea></p>
<hr /><span style="font-size: 90%;"><a title="Назад" name="1s" href="http://webdesign.site3k.net/conjuncture/append/d/upload.html#href1">1</a> Кроме переменной MAX_FILE_SIZE максимальный размер загружаемого файла ограничивает директива upload_max_filesize в php.ini, значение которой можно узнать применив функцию phpinfo(). Сервер не позволит загрузить файл большей величины, чем указана в upload_max_filesize даже если MAX_FILE_SIZE не установлена или позволяет загрузку таких файлов. По умолчанию upload_max_filesize равно двум мегабайтам. Кроме того, ограничение на размер загружаемого файла оказывает переменная post_max_size, устанавливающая максимальный размер данных в POST-запросе. Если размер файла не выходит за рамки, установленные в MAX_FILE_SIZE и upload_max_filesize, но общий размер данных формы после кодирования больше определенного в post_max_size, файл не будет загружен.</p>
<p>Источник: <a href="http://webdesign.site3k.net/?/conjuncture/append/d/upload.html" target="_blank">http://webdesign.site3k.net/?/conjuncture/append/d/upload.html</a></p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://valetsite.org.ua/krik/php-fily-bolee-2gb/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
