<?xml version="1.0" encoding="windows-1251" ?>
<rss xmlns:zenon="http://www.host.ru" version="2.0">
<channel>
<language>ru</language>
<title>Хостинг "Зенон Н.С.П.": советы по работе с хостингом</title> 
<link>http://www.host.ru/</link> 
<description>Хостинг "Зенон Н.С.П.": советы по работе с хостингом</description> 
<image>
<url>http://www.zenon.net/zenon-logo.gif</url> 
<link>http://www.host.ru/</link> 
<title>Хостинг "Зенон Н.С.П."</title> 
</image>
<lastBuildDate>Thu, 06 Aug 2009 23:01:49 +0400</lastBuildDate>
<item>
<title>Установка Zend Optimizer на виртуальном сервере (VPS)</title>
<link>http://www.host.ru/tips/50</link>
<description>&lt;b&gt;Zend Optimizer&lt;/b&gt; — серверный модуль для запуска закодированных с помощью &lt;b&gt;Zend Encoder&lt;/b&gt; и &lt;b&gt;Zend SafeGuard Suite&lt;/b&gt; php-скриптов.
&lt;p&gt;
Чтобы установить &lt;b&gt;Zend Optimizer&lt;/b&gt; на Ваш сервер необходимо зайти на него по SSH c правами суперпользователя &lt;b&gt;root&lt;/b&gt;.
&lt;p&gt;
1. Скачиваем дистрибутив с официального &lt;a href=&quot;http://www.zend.com/en/downloads/&quot;&gt;сайта разработчика&lt;/a&gt;:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
$ wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz 
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
2. Распаковываем скачанный архив:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
$ tar zxf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
3. Переходим в директорию ZendOptimizer-3.3.3-linux-glibc23-i386 и запускаем скрипт установки:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
$ cd ZendOptimizer-3.3.3-linux-glibc23-i386&lt;br&gt;
$ ./install&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
Для успешной установки необходимо следовать инструкциям на экране.
&lt;p&gt;
4. Перезапускаем веб-сервер:
&lt;p&gt;
Для OC Linux Debian и Ubuntu:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% /etc/init.d/apache2 restart&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
Для OC Linux CentOS:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% /etc/init.d/httpd restart&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
&lt;font color=red&gt;&lt;strong&gt;Внимание!&lt;/strong&gt;&lt;/font&gt; При наличии других акселераторов PHP,
необходимо, чтобы в конфигурационном файле php.ini &lt;b&gt;Zend Optimizer&lt;/b&gt; подгружался последним. 
&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/50&quot;&gt;Установка Zend Optimizer на виртуальном сервере (VPS)&lt;/a&gt;&quot;</description>
<pubDate>Thu, 06 Aug 2009 23:01:49 +0400</pubDate>
<guid>http://www.host.ru/tips/50</guid>
</item>
<item>
<title>Установка eAccelerator на виртуальном сервере (VPS)</title>
<link>http://www.host.ru/tips/49</link>
<description>&lt;p&gt;
&lt;b&gt;eAccelerator&lt;/b&gt; - акселератор PHP, который позволяет ускорить выполнения Ваших PHP-скриптов.
&lt;p&gt;
Чтобы установить &lt;b&gt;eAccelerator&lt;/b&gt; на Ваш сервер необходимо зайти на него по SSH c правами суперпользователя &lt;b&gt;root&lt;/b&gt;. Процесс установки отличаеся в зависимости от используемой версии OC Linux.
&lt;p&gt;
1. Устанавливаем необходимые для сборки пакеты
&lt;p&gt;
Для OC Linux Debian и Ubuntu:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% apt-get install build-essential php5-dev bzip2&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
Для OC Linux CentOS:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% yum install autoconf automake libtool php-devel&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
2. Скачиваем дистрибутив, распаковываем и собираем &lt;b&gt;eAccelerator&lt;/b&gt;
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2&lt;br&gt;
% tar -jxf eaccelerator-0.9.5.3.tar.bz2&lt;br&gt;
% cd eaccelerator-0.9.5.3&lt;br&gt;
% phpize&lt;br&gt;
% ./configure&lt;br&gt;
% make install clean&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
3. Необходимо прописать собранный модуль в кофигурационном файле php (/etc/php5/apache2/php.ini).
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
extension=&quot;eaccelerator.so&quot;&lt;br&gt;
eaccelerator.shm_size=&quot;16&quot;&lt;br&gt;
eaccelerator.cache_dir=&quot;/tmp/eaccelerator&quot;&lt;br&gt;
eaccelerator.enable=&quot;1&quot;&lt;br&gt;
eaccelerator.optimizer=&quot;1&quot;&lt;br&gt;
eaccelerator.check_mtime=&quot;1&quot;&lt;br&gt;
eaccelerator.debug=&quot;0&quot;&lt;br&gt;
eaccelerator.filter=&quot;&quot;&lt;br&gt;
eaccelerator.shm_max=&quot;0&quot;&lt;br&gt;
eaccelerator.shm_ttl=&quot;0&quot;&lt;br&gt;
eaccelerator.shm_prune_period=&quot;0&quot;&lt;br&gt;
eaccelerator.shm_only=&quot;0&quot;&lt;br&gt;
eaccelerator.compress=&quot;1&quot;&lt;br&gt;
eaccelerator.compress_level=&quot;9&quot;&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
4.Создаем кеш-каталог
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% mkdir -p /var/cache/eaccelerator&lt;br&gt;
% chmod 0777 /var/cache/eaccelerator&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
5. Перезапускаем веб-сервер
&lt;p&gt;
Для OC Linux Debian и Ubuntu:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% /etc/init.d/apache2 restart&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
Для OC Linux CentOS:
&lt;p&gt;
&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
% /etc/init.d/httpd restart&lt;br&gt;
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/49&quot;&gt;Установка eAccelerator на виртуальном сервере (VPS)&lt;/a&gt;&quot;</description>
<pubDate>Mon, 03 Aug 2009 07:27:37 +0400</pubDate>
<guid>http://www.host.ru/tips/49</guid>
</item>
<item>
<title>Скриптам не передаются переменные $HTTP_POST_VARS, $HTTP_GET_VARS. Как быть?</title>
<link>http://www.host.ru/tips/48</link>
<description>В настройках PHP есть опция &lt;a href=&quot;http://www.php.net/manual/ru/ini.core.php#ini.register-long-arrays&quot; target=_blank&gt;&lt;b&gt;register_long_arrays&lt;/b&gt;&lt;/a&gt;, которая определяет, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. На нашем хостинге ее значение по умолчанию &quot;Off&quot;, так как сами разработчики PHP рекомендуют отключить эти длинные переменные из соображений производительности. Вместо них следует использовать суперглобальные массивы, например $_GET.

&lt;p&gt;

Если же Вы все-таки используете переменные вида $HTTP_*_VARS, то в этом случае Вы можете создать (или отредактировать) в нужной директории файл &lt;a href=&quot;http://www.host.ru/support/articles/htaccess.html&quot;&gt;.htaccess&lt;/a&gt;, содержащий такую строку:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
php_flag register_long_arrays On
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/48&quot;&gt;Скриптам не передаются переменные $HTTP_POST_VARS, $HTTP_GET_VARS. Как быть?&lt;/a&gt;&quot;</description>
<pubDate>Tue, 28 Apr 2009 07:58:58 +0400</pubDate>
<guid>http://www.host.ru/tips/48</guid>
</item>
<item>
<title>Как корректно обрабатывать htc файлы?</title>
<link>http://www.host.ru/tips/47</link>
<description>&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms531018(VS.85).aspx&quot;&gt;HTC (HTML Component)&lt;/a&gt; - специальные файлы, содержащие текст скриптов и дополнительных блоков, применяющиеся, в основном, для создания различных DHTML (Dynamic HTML) элементов. Работают в Microsoft Internet Explorer 5 и более поздних версиях.

&lt;p&gt;

Чтобы веб-сервер Apache корректно передавал файлы .htc браузеру, Вам необходимо создать (или отредактировать) в нужной директории файл &lt;a href=&quot;http://www.host.ru/support/articles/htaccess.html&quot;&gt;.htaccess&lt;/a&gt;, содержащий такую строку:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
AddType text/x-component .htc
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/47&quot;&gt;Как корректно обрабатывать htc файлы?&lt;/a&gt;&quot;</description>
<pubDate>Wed, 08 Apr 2009 08:34:32 +0400</pubDate>
<guid>http://www.host.ru/tips/47</guid>
</item>
<item>
<title>При работе с веб-приложениями иногда появляются ссылки, содержащие внутренний номер порта веб-сервера Apache. Как этого избежать?</title>
<link>http://www.host.ru/tips/46</link>
<description>В нашей схеме виртуального хостинга веб-сервер Apache работает не на стандартном порту (80), а на каком-либо ином. Многие CMS и другие веб-приложения определяют номер порта из переменных окружения HTTP и использует его для построения ссылок. Например, http://www.host.ru:4252/index.php. Такие ссылки не работают.

&lt;p&gt;

Решить эту проблему можно, например, таким образом - в файл конфигурации Вашей системы нужно добавить такие строчки:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
$SERVER_PORT = 80;
&lt;br&gt;
$_SERVER[&quot;SERVER_PORT&quot;] = 80;
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

Для наиболее популярных систем файлы конфигурации, в которые нужно добавить указанные строчки, обычно таковы:

&lt;p&gt;

Для CMS &quot;1С: Битрикс&quot; - &lt;b&gt;~/Ваш_домен/www/bitrix/php_interface/dbconn.php&lt;/b&gt;

&lt;p&gt;

Для CMS Joomla - &lt;b&gt;~/Ваш_домен/www/configuration.php&lt;/b&gt;

&lt;p&gt;

Для MediaWiki - &lt;b&gt;~/Ваш_домен/www/LocalSettings.php&lt;/b&gt;

&lt;p&gt;

Для CMS Made Simple - &lt;b&gt;~/Ваш_домен/www/config.php&lt;/b&gt;

&lt;p&gt;

Для MODx - &lt;b&gt;~/Ваш_домен/www/manager/config.inc.php&lt;/b&gt;

&lt;p&gt;

Для limb - &lt;b&gt;~/Ваш_домен/www/setup.php&lt;/b&gt;

&lt;p&gt;

Для EQdkp - &lt;b&gt;~/Ваш_домен/www/settings.php&lt;/b&gt;

&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/46&quot;&gt;При работе с веб-приложениями иногда появляются ссылки, содержащие внутренний номер порта веб-сервера Apache. Как этого избежать?&lt;/a&gt;&quot;</description>
<pubDate>Sun, 05 Apr 2009 21:18:14 +0400</pubDate>
<guid>http://www.host.ru/tips/46</guid>
</item>
<item>
<title>Как изменить Return-Path, используя функцию PHP mail()?</title>
<link>http://www.host.ru/tips/45</link>
<description>В PHP функция &lt;a href=&quot;http://www.php.net/manual/ru/function.mail.php&quot;&gt;mail()&lt;/a&gt; имеет следующий синтаксис:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
bool mail  ( string $to  , string $subject  , string $message  [, string $additional_headers  [, string $additional_parameters  ]] )
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

5-ый параметр позволяет задавать аргументы для вызова команды sendmail, например, ключ &quot;-f&quot;.

&lt;p&gt;

Таким образом, если Вы, например, хотите отправить письмо с дополнительными заголовками и с нужным Вам Return-Path, Вы можете использовать такой код:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
&amp;lt;?php
&lt;br&gt;
mail(&quot;email@host.ru&quot;, &quot;subj&quot;, &quot;message text&quot;, &quot;From: email@host.ru\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit&quot;, &quot;-femail@host.ru&quot;);
&lt;br&gt;
?&amp;gt;
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

Если дополнительные заголовки письма не требуются, используйте в 4-ом параметре null:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
&amp;lt;?php
&lt;br&gt;
mail(&quot;email@host.ru&quot;, &quot;subj&quot;, &quot;message text&quot;, null, &quot;-femail@host.ru&quot;);
&lt;br&gt;
?&amp;gt;
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/45&quot;&gt;Как изменить Return-Path, используя функцию PHP mail()?&lt;/a&gt;&quot;</description>
<pubDate>Thu, 14 Aug 2008 08:30:48 +0400</pubDate>
<guid>http://www.host.ru/tips/45</guid>
</item>
<item>
<title>Как установить Midnight Commander (mc)?</title>
<link>http://www.host.ru/tips/44</link>
<description>На старших тарифах &lt;a href=&quot;http://www.host.ru/prices/hosting/&quot;&gt;хостинга&lt;/a&gt; Вы можете использовать &lt;a href=&quot;http://www.host.ru/support/hosting-new/gcc.html&quot;&gt;компилятор gcc&lt;/a&gt;. С его помощью можно установить Midnight Commander (mc) локально в свою домашнюю директорию.

&lt;p&gt;

Рассмотрим пример: устанавливаем Midnight Commander версии 4.1.40 в директорию ~/local. Мы устанавливаем эту версию без различных &quot;лишних&quot; библиотек, использующихся в графическом окружении, которые, конечно же, неактуальны на серверах хостинга. Вы можете рассмотреть возможность установки mc иных версий.

&lt;p&gt;

Последовательность команд, которые необходимо выполнить в &lt;a href=&quot;http://www.host.ru/support/hosting-new/upload.html#unixshell&quot;&gt;Unix shell&lt;/a&gt;:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
mkdir ~/src
&lt;br&gt;
mkdir ~/local
&lt;br&gt;
cd src/
&lt;br&gt;
fetch http://mc.linuxinside.com/Releases/mc-4.1.40-pre9.tar.gz
&lt;br&gt;
tar xzf mc-4.1.40-pre9.tar.gz
&lt;br&gt;
cd mc-4.1.40-pre9/
&lt;br&gt;
./configure --with-make=gmake --without-subshell --prefix=${HOME}/local
&lt;br&gt;
gmake
&lt;br&gt;
gmake install
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

В этом примере создается директория local в домашней директории, создается директория src,  в которую сохраняется дистрибутив Midnight Commander 4.1.40.

&lt;p&gt;

Если после установки Вы хотите удалить дистрибутив (архив и распакованную директорию), выполните следующие команды:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
cd ~/src/
&lt;br&gt;
rm -rf mc-4.1.40-pre9.tar.gz
&lt;br&gt;
rm -rf mc-4.1.40-pre9/
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

После установки Midnight Commander (mc) его можно запускать, выполнив такую команду:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
~/local/bin/mc
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

Или же можно добавить в файле ~/.cshrc в строке PATH путь ${HOME}/local/bin. В этом случае утилиты mc и mcedit будут доступны без указания полного пути.
&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/44&quot;&gt;Как установить Midnight Commander (mc)?&lt;/a&gt;&quot;</description>
<pubDate>Tue, 22 Jan 2008 14:01:21 +0400</pubDate>
<guid>http://www.host.ru/tips/44</guid>
</item>
<item>
<title>Как после INSERT'а в таблицу с полем auto_increment получить значение этого поля?</title>
<link>http://www.host.ru/tips/43</link>
<description>Часто при работе с таблицами, в которых есть поле с атрибутом auto_increment, нужно получать значение этого поля после очередного INSERT'а. Зачастую это делают в два приема: INSERT, а затем - SELECT с заданными параметрами. Это - неправильно.

&lt;p&gt;

В MySQL есть &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id&quot; target=_blank&gt;встроенные средства&lt;/a&gt; для получения этих данных. Многие языки программирования умеют с этими средствами работать.

&lt;p&gt;

Например, в PHP есть функция &lt;a href=&quot;http://www.php.net/manual/ru/function.mysql-insert-id.php&quot; target=_blank&gt;mysql_insert_id()&lt;/a&gt;. Она возвращает значение поля auto_increment после последнего INSERT'а в том соединении, на который ссылается переданный функции указатель. Если никакие параметры не указаны, используется последнее открытое соединение.

&lt;p&gt;

В Perl'е аналогичная функциональность есть в модуле &lt;a href=&quot;http://search.cpan.org/~capttofu/DBD-mysql-4.005/lib/DBD/mysql.pm&quot; target=_blank&gt;DBD::mysql&lt;/a&gt;:

&lt;p&gt;

$insertid = $dbh-&gt;{'mysql_insertid'};
&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/43&quot;&gt;Как после INSERT'а в таблицу с полем auto_increment получить значение этого поля?&lt;/a&gt;&quot;</description>
<pubDate>Sun, 16 Dec 2007 22:49:31 +0400</pubDate>
<guid>http://www.host.ru/tips/43</guid>
</item>
<item>
<title>Как в MySQL при наличии некоторых данных изменить их, а при отсутствии - добавить?</title>
<link>http://www.host.ru/tips/42</link>
<description>Зачастую возникают ситуации, когда нужно при наличии определенной строки в таблице в MySQL изменить ее, а при ее отсутствии - добавить. Обычно решают такую задачу в два приема: сначала проверяют, есть ли данные (SELECT с нужными условиями), а затем в зависимости от полученного результата либо изменяют их (UPDATE), либо добавляют (INSERT).

&lt;p&gt;

Конструкция получается достаточно трудоемкая.

&lt;p&gt;

В некоторых случаях бывает эффективнее использовать команду MySQL &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/replace.html&quot; target=_blank&gt;REPLACE&lt;/a&gt;. По синтаксису она эквивалентна INSERT.

&lt;p&gt;

Логика работы REPLACE такова: если в существующей строке есть поле, для которого построен индекс типа PRIMARY KEY или UNIQUE, с тем же значением, что и в новой строке, то старая строка удаляется, а новая - добавляется. Если строки с таким значением в указанном поле нет, то строка просто добавляется.
&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/42&quot;&gt;Как в MySQL при наличии некоторых данных изменить их, а при отсутствии - добавить?&lt;/a&gt;&quot;</description>
<pubDate>Sun, 16 Dec 2007 22:25:07 +0400</pubDate>
<guid>http://www.host.ru/tips/42</guid>
</item>
<item>
<title>Как установить локально Ruby на хостинге (CGI)?</title>
<link>http://www.host.ru/tips/41</link>
<description>На старших тарифах &lt;a href=&quot;http://www.host.ru/prices/hosting/&quot;&gt;хостинга&lt;/a&gt; Вы можете использовать &lt;a href=&quot;http://www.host.ru/support/hosting-new/gcc.html&quot;&gt;компилятор gcc&lt;/a&gt;. С его помощью можно установить Ruby локально в свою домашнюю директорию.

&lt;p&gt;

Рассмотрим пример: устанавливаем Ruby версии 1.8.6 в директорию ~/local. Последовательность команд, которые необходимо выполнить в &lt;a href=&quot;http://www.host.ru/support/hosting-new/upload.html#unixshell&quot;&gt;Unix shell&lt;/a&gt;:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
mkdir local
&lt;br&gt;
mkdir src
&lt;br&gt;
cd src/
&lt;br&gt;
fetch ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p110.tar.gz
&lt;br&gt;
tar xzf ruby-1.8.6-p110.tar.gz
&lt;br&gt;
cd ruby-1.8.6-p110
&lt;br&gt;
./configure --prefix=${HOME}/local
&lt;br&gt;
make
&lt;br&gt;
make install
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

В этом примере создается директория local в домашней директории, создается директория src,  в которую сохраняется дистрибутив Ruby 1.8.6 с официального сайта. Далее Ruby собирается с типовыми установками (по умолчанию).

&lt;p&gt;

Если после установки Вы хотите удалить дистрибутив (архив и распакованную директорию), выполните следующие команды:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
cd ~/src/
&lt;br&gt;
rm -rf ruby-1.8.6-p110/
&lt;br&gt;
rm ruby-1.8.6-p110.tar.gz
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

После установки Ruby можно выполнять скрипты, написанные на этом языке либо в Unix shell, либо в виде CGI. Например, такой скрипт:

&lt;p&gt;

&lt;div style=&quot;background-color: #FFFFFF; border: 1px solid #CCCCCC; padding: 5px; font-size: 13px;&quot;&gt;&lt;code&gt;
#!/bhome/part2/01/login/local/bin/ruby
&lt;br&gt;
&lt;br&gt;
puts &quot;Content-type: text/html\n\n&quot;
&lt;br&gt;
puts &quot;Hello, World!&quot;
&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;

...выведет на экран &quot;Hello, World!&quot;

&lt;p&gt;

Здесь /bhome/part2/01/login/local/bin/ruby - полный путь к локально установленному интерпретатору Ruby.

&lt;p&gt;
&amp;copy; &lt;a href=&quot;http://www.host.ru&quot; title=&quot;Хостинг Зенон Н.С.П.&quot;&gt;Хостинг &quot;Зенон Н.С.П.&quot;&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.host.ru/tips/41&quot;&gt;Как установить локально Ruby на хостинге (CGI)?&lt;/a&gt;&quot;</description>
<pubDate>Tue, 30 Oct 2007 15:54:01 +0400</pubDate>
<guid>http://www.host.ru/tips/41</guid>
</item>
  
</channel>
</rss>
