<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.rtzra.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>RTzRa&#039;s hive - software:php</title>
        <description>Все работает</description>
        <link>https://wiki.rtzra.ru/</link>
        <lastBuildDate>Sun, 19 Jul 2026 18:41:50 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.rtzra.ru/_media/wiki/logo.png</url>
            <title>RTzRa&#039;s hive</title>
            <link>https://wiki.rtzra.ru/</link>
        </image>
        <item>
            <title>APC в PHP</title>
            <link>https://wiki.rtzra.ru/software/php/apc</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;apc_v_php&quot;&gt;APC в PHP&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
APC - это Alternative PHP Cache, а если по-русски то php-акселератор. Бесплатная и открытая система для кэширования предкомпилированных PHP скриптов, позволяет значительно увеличить производительность PHP скриптов выполняющихся из под mod_php.
&lt;/p&gt;

&lt;p&gt;
Ставится обычно просто:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; php-apc&lt;/pre&gt;

&lt;p&gt;
На Ubuntu 10.04 LTS по умолчанию ставится версия 3.1.3p1-2 и тут скрывается маленький подвох: из-за небольшого косяка в APC апачевский лог error.log забивается следующей ерундой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Thu Oct 14 23:56:25 2010] [apc-warning] Potential cache slam averted for key ...&lt;/pre&gt;

&lt;p&gt;
Некоторые гуглолюди предлагают починить прописыванием директив
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apc.slam_defense=0
apc.write_lock=0&lt;/pre&gt;

&lt;p&gt;
но лично мне это не помогло, т.к. в данной версии apc.slam_defense просто отсутствует.
&lt;/p&gt;

&lt;p&gt;
Решение простое: откатиться до более старой версии или обновиться до 3.1.5
&lt;/p&gt;

&lt;p&gt;
Я выбрал обновление. Итак, поехали:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# apt-get install php5-dev apache2-threaded-dev&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# pecl install apc-3.1.5&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# service apache2 restart&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Если интересно как работает APC и насколько эффективно, делаем следующее:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# cp /usr/share/php/apc.php /путь-до-папки-на-вашем-вебсервере - для НОВОЙ версии&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# cp /usr/share/doc/php-apc/apc.php.gz /путь-до-папки-на-вашем-вебсервере - для СТАРОЙ версии&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# gzip -d /путь-до-папки-на-вашем-вебсервере/apc.php.gz - для СТАРОЙ версии&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
При необходимости правим владельца файла, ставим права на apc.php и открываем страничку &lt;a href=&quot;http://www&quot; class=&quot;urlextern&quot; title=&quot;http://www&quot; rel=&quot;ugc nofollow&quot;&gt;http://www&lt;/a&gt;.ваш-вебсервер.ru/apc.php
&lt;/p&gt;

&lt;p&gt;
Там можно понаблюдать за жизнью кэша, посмотреть эффективность его работы, проверить на наличие новой версии и так далее.
&lt;/p&gt;

&lt;p&gt;
Сносим все  (если нужно) таким способом:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# pecl uninstall apc-3.1.4&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# apt-get remove php-apc&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>php и eAccelerator</title>
            <link>https://wiki.rtzra.ru/software/php/eaccelerator</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;php_i_eaccelerator&quot;&gt;php и eAccelerator&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Что такое: PHP accelerator &amp;amp; optimizer
&lt;/p&gt;

&lt;p&gt;
Ubuntu 10.04.3 LTS x64 - в пакетах нет уже собранного eAccelerator&amp;#039;а, значит будем собирать самостоятельно.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ставим необходимый софт для сборки:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; build-essential php5-dev&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Переходим в папку где будем собирать, я использую /usr/src/&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;src&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Берем свежий пакет с сайта eAccelerator :&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;bart.eaccelerator.net&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;source&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;0.9.6.1&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;eaccelerator-0.9.6.1.tar.bz2&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Распаковываем&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; xvf eaccelerator-0.9.6.1.tar.bz2&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Заходим в папку&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; eaccelerator-0.9.6.1&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подготавливаем все к сборке:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# phpize&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# ./configure --enable-eaccelerator=shared&lt;/span&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Собираем и устанавливаем:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# make&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# make install&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Посмотрите пути, куда будет скопирован собранный eaccelerator.so, у меня это папка /usr/lib/php5/20090629/
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подключаем eAcceletor: Можно отредактировать оригинальный php.ini или создать новый файл в папке conf.d которую использует PHP - в моем случае это /etc/php5/conf.d&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# cd /etc/php5/conf.d&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# touch eaccelerator.ini&lt;/span&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в файл следующие строки:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Подключаем
zend_extension                  &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/usr/lib/php5/20090629/eaccelerator.so&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Размер кэша&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; в Мб&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; Не может быть больше чем &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;proc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sys&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;kernel&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;shmmax&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; использовать по умолчанию&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;32&lt;/span&gt; Мб&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;shm_size           &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Папка для хранения кэша
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;cache_dir          &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/var/cache/eaccelerator&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Переключатель модуля &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; вкл и &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; выкл&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;enable             &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Переключатель оптимизатора  &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; вкл и &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; выкл&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;optimizer          &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Проверять время модификации файлов кеша для их перекомпиляции &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; вкл и &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; выкл&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;check_mtime        &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Добавляет отладочную информацию в лог &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; вкл и &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; выкл&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;debug              &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Куда писать отладочную информацию
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;log_file           &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/var/log/eaccelerator.log&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Фильтр расширений файлов которых надо кешировать&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; Например&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;*.php *.phtml&amp;quot;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;filter             &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Размер выделяемой памяти&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; в байтах&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; Допустимо вводить в формате &lt;span class=&quot;nu0&quot;&gt;10240&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; 10K&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; 1M и т&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;д&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; безлимит&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;shm_max            &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Время жизни кеша&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; секунд
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;shm_ttl            &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Период удаления старых данных из памяти&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; секунд &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; не удалять&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;shm_prune_period   &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Использовать для кеша только память &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; используется диск и память&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; только память&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;shm_only           &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Переключатель уровня сжатия &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; вкл&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; выкл&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;compress           &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Степень уровня сжатия &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; минимум&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; максимум&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;compress_level     &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;7&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; Ограничивает запуск скрипта управления&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; аналог open_base_dir
eaccelerator&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;allowed_admin_path &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/var/www/eaccelerator&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаем папку, куда будет складывать кэш во время работы eAccelerator:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# mkdir /var/cache/eaccelerator&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# chown www-data.www-data /var/cache/eaccelerator&lt;/span&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ну и пора перезапускать Apache&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; service apache2 restart&lt;/pre&gt;

&lt;p&gt;
Настроек в ini-файле много, описание можно посмотреть здесь: &lt;a href=&quot;http://www.eaccelerator.net/wiki/Settings&quot; class=&quot;urlextern&quot; title=&quot;http://www.eaccelerator.net/wiki/Settings&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.eaccelerator.net/wiki/Settings&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Проверить а заработали ли все можно создав php-файл с текстом 
&lt;/p&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;a href=&quot;http://www.php.net/phpinfo&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;phpinfo&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Если после открытия этого файла нашлось упоминание eAccelerator - значит все заработало. Так же можно проверить папку /var/cache/eaccelerator на наличие новых файлов.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;php \u0438 eAccelerator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php_i_eaccelerator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-4901&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;uvelichivaem_obem_ispolzuemoj_pamjati&quot;&gt;Увеличиваем объем используемой памяти&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
По умолчанию переменная &lt;strong&gt;eaccelerator.shm_size&lt;/strong&gt; установлена в «0» - это означает использовать объем памяти, принятый в операционной системе по умолчанию. Для Debian/Ubuntu это всего 32 Mb. Мало, что же это за кэш такой? Будем увеличивать.
&lt;/p&gt;

&lt;p&gt;
Добавляем в файл /etc/sysctl.conf строчку
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kernel.shmmax = 268435456	# 256 Mb
#kernel.shmmax = 494967295	# 512 Mb&lt;/pre&gt;

&lt;p&gt;
и меняем в /etc/php5/conf.d/eaccelerator.ini
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;eaccelerator.shm_size           = &amp;quot;256&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Чтобы изменения вступили в силу необходимо применить внесенные изменения в sysctl.conf и перезапустить веб-сервер
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo sysctl -p
# sudo service apache2 restart&lt;/pre&gt;

&lt;p&gt;
И зайдя на страничку управления eAccelerator можно посмотреть все ли заработало.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uvelichivaem_obem_ispolzuemoj_pamjati&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;4902-6048&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;trablshuting&quot;&gt;Траблшутинг&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0440\u0430\u0431\u043b\u0448\u0443\u0442\u0438\u043d\u0433&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;trablshuting&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;6049-6086&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ne_rabotaet_s&quot;&gt;&amp;quot;Не работает&amp;quot; (с)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Если PHP обновлялся, то eAccelerator перестанет работать. Признаки простые: на страничке управления видим
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Caching enabled 	no   
Optimizer enabled 	no   
Check mtime enabled 	no&lt;/pre&gt;

&lt;p&gt;
хотя в файле конфигурации все включено, а команда
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# php -m&lt;/pre&gt;

&lt;p&gt;
пишет примерно следующее:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[eAccelerator] This build of &amp;quot;eAccelerator&amp;quot; was compiled for PHP version 5.3.2-1ubuntu4.7. Rebuild it for your PHP version (5.3.2-1ubuntu4.9) or download precompiled binaries.&lt;/pre&gt;

&lt;p&gt;
Решается просто: нужно заново пересобрать как указано выше. Если собираете в старом каталоге, то сначала надо его почистить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# make clean&lt;/pre&gt;

&lt;p&gt;
и затем собрать снова.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\&amp;quot;\u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\&amp;quot; (\u0441)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ne_rabotaet_s&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6087-7053&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;problema_s_open_basedir&quot;&gt;Проблема с open_basedir&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
При компиляции (в версиях 0.9.6 и 0.9.6.1) вылазит ошибка:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;PHP Warning:  Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (&amp;lt;your_open_basedir_dirs&amp;gt;) in Unknown on line 0&lt;/pre&gt;

&lt;p&gt;
Все оказывается просто. При использовании директивы PHP open_basedir для обеспечения безопасности, нужно собрать eAccelerator с опцией &lt;code&gt;–without-eaccelerator-use-inode&lt;/code&gt;. Данный механизм хранения кэша не совместим с open_basedir, поэтому open_basedir в сочетании с этой опцией приводит к фатальным ошибкам в скриптах.
&lt;/p&gt;

&lt;p&gt;
спасибо leopard: &lt;a href=&quot;http://leopard.in.ua/2010/07/28/eaccelerator_open_basedir/&quot; class=&quot;urlextern&quot; title=&quot;http://leopard.in.ua/2010/07/28/eaccelerator_open_basedir/&quot; rel=&quot;ugc nofollow&quot;&gt;http://leopard.in.ua/2010/07/28/eaccelerator_open_basedir/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 open_basedir&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;problema_s_open_basedir&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:19,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7054-7956&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;ssylki&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Домашняя страничка - &lt;a href=&quot;http://www.eaccelerator.net/&quot; class=&quot;urlextern&quot; title=&quot;http://www.eaccelerator.net/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.eaccelerator.net/&lt;/a&gt; и &lt;a href=&quot;https://eaccelerator.net/&quot; class=&quot;urlextern&quot; title=&quot;https://eaccelerator.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://eaccelerator.net/&lt;/a&gt; и еще &lt;a href=&quot;http://sourceforge.net/projects/eaccelerator/&quot; class=&quot;urlextern&quot; title=&quot;http://sourceforge.net/projects/eaccelerator/&quot; rel=&quot;ugc nofollow&quot;&gt;http://sourceforge.net/projects/eaccelerator/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php?do=showtag&amp;amp;tag=php&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/eaccelerator?do=showtag&amp;amp;tag=eAccelerator&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:eaccelerator&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; eAccelerator&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/eaccelerator.shm_size?do=showtag&amp;amp;tag=eaccelerator.shm_size&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:eaccelerator.shm_size&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; eaccelerator.shm size&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssylki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:20,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7957-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>PHP: учимся программировать</title>
            <link>https://wiki.rtzra.ru/software/php/php-tutorials</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;phpuchimsja_programmirovat&quot;&gt;PHP: учимся программировать&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://tutsplus.com/course/php-fundamentals/&quot; class=&quot;urlextern&quot; title=&quot;https://tutsplus.com/course/php-fundamentals/&quot; rel=&quot;ugc nofollow&quot;&gt;https://tutsplus.com/course/php-fundamentals/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php?do=showtag&amp;amp;tag=php&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/tutorial?do=showtag&amp;amp;tag=tutorial&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:tutorial&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; tutorial&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php_fundamentals?do=showtag&amp;amp;tag=php_fundamentals&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php_fundamentals&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php fundamentals&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/uchebniki?do=showtag&amp;amp;tag=%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:uchebniki&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; учебники&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/obuchenie?do=showtag&amp;amp;tag=%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:obuchenie&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; обучение&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Безопасность и PHP</title>
            <link>https://wiki.rtzra.ru/software/php/security_php</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;bezopasnost_i_php&quot;&gt;Безопасность и PHP&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bezopasnost_i_php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-47&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;chek-list&quot;&gt;Чек-лист&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
✅ Смотрим список активных модулей:&lt;br /&gt;
# php -m&lt;br /&gt;
Отключаем ненужные:&lt;br /&gt;
# mv /etc/php.d/sqlite3.ini /etc/php.d/sqlite3.disable
&lt;/p&gt;

&lt;p&gt;
✅ Отключаем отображение информации о версии PHP:&lt;br /&gt;
expose_php=Off&lt;br /&gt;
Это параметр для php.ini.
&lt;/p&gt;

&lt;p&gt;
✅ Отключаем отображение ошибок PHP для посетителей:&lt;br /&gt;
display_errors=Off&lt;br /&gt;
Вместо этого логируем их отдельно:&lt;br /&gt;
log_errors=On&lt;br /&gt;
error_log=/var/log/httpd/php_scripts_error.log
&lt;/p&gt;

&lt;p&gt;
✅ Если не нужна загрузка файлов на веб сервер, отключите эту возможность:&lt;br /&gt;
file_uploads=Off&lt;br /&gt;
Если загрузка нужна, то хотя бы ограничьте максимальный размер файла до необходимого предела:&lt;br /&gt;
file_uploads=On&lt;br /&gt;
upload_max_filesize=10M
&lt;/p&gt;

&lt;p&gt;
✅ Отключаем функцию allow_url_fopen, если не используются сайтом. Она открывает широкие возможности для взлома, если разработчики забудут о  фильтрации входящих данных.&lt;br /&gt;
allow_url_fopen=Off
&lt;/p&gt;

&lt;p&gt;
✅ Настройка размера POST запросов. Этот параметр должен быть не меньше  upload_max_filesize, если разрешена загрузка файлов. Если же она запрещена, то большой разрешённый размер post запросов не нужен. Вряд ли вам через формы потребуется заливать большой объём данных.&lt;br /&gt;
post_max_size=10M&lt;br /&gt;
или &lt;br /&gt;
post_max_size=10K
&lt;/p&gt;

&lt;p&gt;
✅ Подобрать необходимые лимиты выполнения скриптов. Тут всё сильно зависит от самого сайта. В идеале, много ресурсов не выделять, но, к примеру, тот же Bitrix, требует очень много оперативной памяти и времени выполнения для своих скриптов.&lt;br /&gt;
max_execution_time = 30&lt;br /&gt;
max_input_time = 30&lt;br /&gt;
memory_limit = 64M
&lt;/p&gt;

&lt;p&gt;
✅ Отключаем потенциально опасные функции PHP. Оставляем только то, что реально нужно. &lt;br /&gt;
disable_functions = exec,passthru,shell_exec,system,&lt;br /&gt;
proc_open,popen,curl_exec,curl_multi_exec,&lt;br /&gt;
parse_ini_file,show_source
&lt;/p&gt;

&lt;p&gt;
✅ Убедиться, что параметр cgi.force_redirect не отключен принудительно. По дефолту, если его явно не указать, то он будет включен. &lt;br /&gt;
cgi.force_redirect=On
&lt;/p&gt;

&lt;p&gt;
✅ Убедиться, что php работает от отдельного непривилегированного пользователя. Настройка будет зависеть от используемого менеджера процессов php. Проверяем примерно так:&lt;br /&gt;
# ps aux | grep php
&lt;/p&gt;

&lt;p&gt;
✅ Ограничиваем доступ php к файловой системе:&lt;br /&gt;
open_basedir = «/var/www/html/»
&lt;/p&gt;

&lt;p&gt;
✅ Настраиваем место хранения для сессий:&lt;br /&gt;
session.save_path = «/var/lib/php/session»&lt;br /&gt;
Важно убедиться, что туда нет доступа посторонним. Кроме веб сервера эта директория никому не нужна. Также туда не должно быть доступа с сайта.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0427\u0435\u043a-\u043b\u0438\u0441\u0442&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chek-list&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;48-3671&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;suhosin&quot;&gt;Suhosin&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Suhosin позволяет бороться с SQL-инъекциями (SQL injections), атаками на переполнение буфера, с отправкой спама через некачественно написанные скрипты, с воровством cookie и т.д. В некоторых случаях может вызывать проблемы, поэтому использовать осторожно. Возможно стоит сразу прописать в /etc/php5/apache2/conf.d/suhosin.ini значение suhosin.get.max_value_length = 4096
&lt;/p&gt;

&lt;p&gt;
Если требуется передавать параметры suhosin через .htaccess то надо сделать следующее:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Изменить в файле /etc/php5/conf.d/suhosin.ini параметр suhosin.perdir на &lt;pre class=&quot;code&quot;&gt;suhosin.perdir = &amp;quot;p&amp;quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Прописать в конфиге Апача для сайта или папки параметр &lt;pre class=&quot;code&quot;&gt;AllowOverride All&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавить в .htaccess необходимые параметры, например &lt;pre class=&quot;code&quot;&gt;suhosin.post.max_vars = 2048
suhosin.request.max_vars = 2048&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Suhosin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;suhosin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3672-4872&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;tjunim_phpini&quot;&gt;Тюним php.ini&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Отключаем выполнение некоторых функций:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; disable_function=«exec, system, passthru, shell_exec, proc_open»&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Те самые параметры о которых везде понаписано много буковок:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; magic_quotes_gpc = 1&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; safe_mode = 0&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; register_globals = 0&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Нет, ничего подключать не будем:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; allow_url_fopen = Off&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; allow_url_include = Off&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Никому не надо знать что за ошибки возникают, а если нужно - посмотрим логи&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; display_errors = Off&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; display_startup_errors = Off&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; log_errors = On&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; error_log = php_error.log&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запираем php в определенных папках:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; open_basedir=/var/www/you_mega_site.com:/tmp&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Можно спрятать информацию о версии PHP:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; expose_php = Off&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u044e\u043d\u0438\u043c php.ini&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tjunim_phpini&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4873-5836&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;chistota_-_zalog_pokoja&quot;&gt;Чистота - залог покоя&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Проверяем все места со скриптами - нигде не должно валяться беспризорных php-файлов. В особенности всяких шеллов, приблуд типа phpmyadmin и т.д. Если что-то подобное используется - в отдельную папку с хитрым именем, на папку пароль и закрыть ей листинг из апача.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0427\u0438\u0441\u0442\u043e\u0442\u0430 - \u0437\u0430\u043b\u043e\u0433 \u043f\u043e\u043a\u043e\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chistota_-_zalog_pokoja&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5837-6350&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;razreshaem_nekotorye_funkcii_php_dlja_opredelennyx_virtualnyx_xostov&quot;&gt;Разрешаем некоторые функции PHP для определенных виртуальных хостов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В некоторых случаях требуется запретить использование некоторых функций через disable_functions и сделать индивидуальные настройки для определенных виртуальных хостов. Ан нет, disable_functions работает только из php.ini. Пр попытке включить конструкцию php_admin_value в .htaccess получаем сообщение « php_admin_value not allowed here», а попытки сделать это через конфиги Apache так же не дают эффекта: получаем ошибку «PHP Warning:  exec() has been disabled for security reasons in…»
&lt;/p&gt;

&lt;p&gt;
Как оказалось, победить можно, но при условии использования на сервере suhosin. Сборка php5-suhosin 0.9.29-1ubuntu1 старая, я пересобрал руками 0.9.33.
&lt;/p&gt;

&lt;p&gt;
Итак, делаем:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В php.ini устанавливаем&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;disable_functions = &lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В suhosin.ini (а если такого нет, то в php.ini) запрещаем требуемые функции, например:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;suhosin.executor.func.blacklist = &amp;quot;exec,system,passthru,shell_exec,proc_open&amp;quot;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В настройках виртуального хоста Apache добавляем конструкцию (например, разрешаем exec)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;php_admin_value suhosin.executor.func.blacklist &amp;quot;system, passthru, shell_exec, proc_open&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 PHP \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;razreshaem_nekotorye_funkcii_php_dlja_opredelennyx_virtualnyx_xostov&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6351-8080&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;ischem_vzlomannye_fajly&quot;&gt;Ищем взломанные файлы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Отсюда: &lt;a href=&quot;http://habrahabr.ru/post/188878/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/188878/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/188878/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0449\u0435\u043c \u0432\u0437\u043b\u043e\u043c\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ischem_vzlomannye_fajly&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;8081-8182&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;izmenennye_fajly_za_7_dnej&quot;&gt;Измененные файлы за 7 дней&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# find . -type f -name &amp;#039;*.php&amp;#039; -mtime -7&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0437\u0430 7 \u0434\u043d\u0435\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;izmenennye_fajly_za_7_dnej&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;8183-8297&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;podschet_xehsh-summ_fajlov_i_poisk_izmenennyx&quot;&gt;Подсчет хэш-сумм файлов и поиск измененных&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh

$files_path = &amp;quot;/root/bin/data&amp;quot;
$search_path = &amp;quot;/var/www/site/&amp;quot;
$mail_to = &amp;quot;your@mail.ru&amp;quot;

rm  $files_path/before.txt
rm  $files_path/diff.txt

mv $files_path/current.txt $files_path/before.txt

find $search_path -name &amp;quot;*.php&amp;quot; -type f -print0 | xargs -0 sha1sum &amp;gt; $files_path/current.txt
find $search_path -name &amp;quot;*.js&amp;quot; -type f -print0 | xargs -0 sha1sum &amp;gt;&amp;gt; $files_path/current.txt
find $search_path -name &amp;quot;*.html&amp;quot; -type f -print0 | xargs -0 sha1sum &amp;gt;&amp;gt; $files_path/current.txt
find $search_path -name &amp;quot;*.css&amp;quot; -type f -print0 | xargs -0 sha1sum &amp;gt;&amp;gt; $files_path/current.txt

diff -urN $files_path/before.txt $files_path/current.txt &amp;gt; $files_path/diff.txt

if [ `ls -la $files_path/diff.txt | awk &amp;#039;{print $5}&amp;#039;` -ne 0 ]; then

 echo &amp;quot;Files changed!&amp;quot;

 mail -s &amp;quot;Files changed!&amp;quot; $mail_to &amp;lt; $files_path/diff.txt

fi&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u0441\u0447\u0435\u0442 \u0445\u044d\u0448-\u0441\u0443\u043c\u043c \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043f\u043e\u0438\u0441\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;podschet_xehsh-summ_fajlov_i_poisk_izmenennyx&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;8298-9220&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;poisk_vstavok&quot;&gt;Поиск вставок&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# find . -type f -name &amp;#039;*.php&amp;#039; | xargs grep -l &amp;quot;eval *(&amp;quot; --color
# find . -type f -name &amp;#039;*.php&amp;#039; | xargs grep -l &amp;quot;base64_decode *(&amp;quot; --color
# find . -type f -name &amp;#039;*.php&amp;#039; | xargs grep -l &amp;quot;gzinflate *(&amp;quot; --color
# find . -type f -name &amp;#039;*.php&amp;#039; | xargs egrep -i &amp;quot;preg_replace *\(([&amp;#039;|\&amp;quot;])(.).*\2[a-z]*e[^\1]*\1 *,&amp;quot; --color&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0438\u0441\u043a \u0432\u0441\u0442\u0430\u0432\u043e\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;poisk_vstavok&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;9221-9590&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;sravnit_dve_kopii_sajta&quot;&gt;Сравнить две копии сайта&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# diff -r copy-clean/ copy-compromised/ -x список_исключений&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0434\u0432\u0435 \u043a\u043e\u043f\u0438\u0438 \u0441\u0430\u0439\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sravnit_dve_kopii_sajta&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;9591-9739&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;poisk_papok_otkrytyx_dlja_zapisi&quot;&gt;Поиск папок, открытых для записи&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ищет директории доступные для записи и php файлы в них. Результат будет сохранен в файл results.txt. Скрипт работает рекурсивно.
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;search_dir&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;pwd&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;writable_dirs&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$search_dir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-type&lt;/span&gt; d &lt;span class=&quot;re5&quot;&gt;-perm&lt;/span&gt; 0777&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;dir&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$writable_dirs&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;co0&quot;&gt;#echo $dir&lt;/span&gt;
    &lt;span class=&quot;kw2&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$dir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-type&lt;/span&gt; f &lt;span class=&quot;re5&quot;&gt;-name&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;*.php&#039;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php?do=showtag&amp;amp;tag=php&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/suhosin?do=showtag&amp;amp;tag=suhosin&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:suhosin&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; suhosin&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/security?do=showtag&amp;amp;tag=security&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:security&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; security&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/bezopasnost?do=showtag&amp;amp;tag=%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:bezopasnost&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; безопасность&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/htaccess?do=showtag&amp;amp;tag=.htaccess&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:htaccess&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; .htaccess&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/expose_php?do=showtag&amp;amp;tag=expose_php&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:expose_php&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; expose php&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0438\u0441\u043a \u043f\u0430\u043f\u043e\u043a, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;poisk_papok_otkrytyx_dlja_zapisi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;9740-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 18 Jul 2022 20:14:01 +0000</pubDate>
        </item>
        <item>
            <title>Обновление PHP в Ubuntu 10.04</title>
            <link>https://wiki.rtzra.ru/software/php/ubuntu-10-04-php5-upgrade</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;obnovlenie_php_v_ubuntu_1004&quot;&gt;Обновление PHP в Ubuntu 10.04&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Текущая (и похоже последняя) версия PHP в Ubuntu 10.04.4 - 5.3.2
&lt;/p&gt;

&lt;p&gt;
Если нет возможности обновить Ubuntu, то будем обновлять PHP
&lt;/p&gt;

&lt;p&gt;
Взято отсюда: &lt;a href=&quot;https://gist.github.com/terwey/6416511&quot; class=&quot;urlextern&quot; title=&quot;https://gist.github.com/terwey/6416511&quot; rel=&quot;ugc nofollow&quot;&gt;https://gist.github.com/terwey/6416511&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Создаем файл /etc/apt/sources.list/php5.list со следующим содержимым:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;deb http://ppa.launchpad.net/ondrej/php5-oldstable/ubuntu lucid main 
deb-src http://ppa.launchpad.net/ondrej/php5-oldstable/ubuntu lucid main&lt;/pre&gt;

&lt;p&gt;
Добавляем ключ:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E5267A6C&lt;/pre&gt;

&lt;p&gt;
Обновляем список пакетов:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# apt-get update&lt;/pre&gt;

&lt;p&gt;
Удаляем старые версии:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# apt-get remove libapache2-mod-php5 php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-imagick php5-mysql&lt;/pre&gt;

&lt;p&gt;
И ставим новые:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# apt-get install libapache2-mod-php5 php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-imagick php5-mysql php5-mcrypt php-apc&lt;/pre&gt;

&lt;p&gt;
Проверяем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# php5 -v
PHP 5.4.33-2+deb.sury.org~lucid+1 (cli) (built: Sep 25 2014 09:04:16)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies&lt;/pre&gt;

&lt;p&gt;
Далее настраиваем (если нужно) расширения в папке /etc/php5/apache2/conf.d/ и не забываем перезапустить все сервисы, использующие PHP.
&lt;/p&gt;

&lt;p&gt;
Остальное по вкусу.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php?do=showtag&amp;amp;tag=php&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php5?do=showtag&amp;amp;tag=php5&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php5&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php5&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/update?do=showtag&amp;amp;tag=update&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:update&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; update&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/upgrade?do=showtag&amp;amp;tag=upgrade&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:upgrade&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; upgrade&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/obnovlenie?do=showtag&amp;amp;tag=%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:obnovlenie&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; обновление&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=ubuntu&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; ubuntu&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubunta?do=showtag&amp;amp;tag=%D1%83%D0%B1%D1%83%D0%BD%D1%82%D0%B0&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ubunta&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; убунта&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=%D1%83%D0%B1%D1%83%D0%BD%D1%82%D1%83&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; убунту&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Как собрать PHP  в Ubuntu без Suhosin</title>
            <link>https://wiki.rtzra.ru/software/php/ubuntu-php-no-suhosin</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;kak_sobrat_php_v_ubuntu_bez_suhosin&quot;&gt;Как собрать PHP  в Ubuntu без Suhosin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Имеем: Ubuntu 12.04.5, php версии 5.3.10 с вкомпилированным Suhosin и старый legacy-код, который криво работает с Suhosin. Отключение suhosin невозможно, т.к. в данной версии Ubuntu он вкомпилирован и не отключается. Увеличить версию php5 на более новую так же нельзя - код перестает работать.
&lt;/p&gt;

&lt;p&gt;
Решение: собрать php самостоятельно. Глупо, но делать нечего.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c PHP  \u0432 Ubuntu \u0431\u0435\u0437 Suhosin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kak_sobrat_php_v_ubuntu_bez_suhosin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-653&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;shag_1&quot;&gt;Шаг 1&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Создаем рабочую папку и переходим в нее:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# cd /usr/src
# mkdir packages
# cd packages&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;654-811&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;shag_2&quot;&gt;Шаг 2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ставим пакеты для сборки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo apt-get install devscripts
# sudo apt-get install gcc debhelper fakeroot&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;812-976&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;shag_3&quot;&gt;Шаг 3&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Скачиваем исходники PHP5
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo apt-get source php5&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 3&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_3&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;977-1084&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;shag_4&quot;&gt;Шаг 4&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Скачиваем все зависимости:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo apt-get build-dep php5&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 4&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_4&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1085-1202&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;shag_5&quot;&gt;Шаг 5&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Отключаем Suhosin.
&lt;/p&gt;

&lt;p&gt;
Открываем файл php5-5.3.10/debian/rules и изменяем строку
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;PHP5_SUHOSIN=yes&lt;/pre&gt;

&lt;p&gt;
на
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;PHP5_SUHOSIN=no&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_5&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1203-1408&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;shag_6&quot;&gt;Шаг 6&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Изменяем версию пакета php5 чтобы не было конфликтов при установке:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# cd php5-5.3.10
# debchange -v 5.3.10-1ubuntu3.20.1~nosuhosin&lt;/pre&gt;

&lt;p&gt;
В редакторе по умолчанию откроется файл для редактирования, в нем можно написать что-нибудь вроде
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  * Disable Suhosin patch&lt;/pre&gt;

&lt;p&gt;
После внесения изменений файл нужно сохранить
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1409-1939&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;shag_6_12&quot;&gt;Шаг 6 1/2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;plugin_note notewarning&quot;&gt;Не все так просто, иначе бы и не писалась эта инструкция!
&lt;/div&gt;
&lt;p&gt;
При попытке сборки я получал ошибку 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# start our own mysql server for the tests
/bin/sh debian/setup-mysql.sh 1995 /usr/src/php5-5.3.10/mysql_db
make: *** [test-results.txt] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2&lt;/pre&gt;

&lt;p&gt;
Как написано в интернетах это потому что не хватает прав на запуск mysql и лечится правкой файла php5-5.3.10/debian/setup-mysql.sh
&lt;/p&gt;

&lt;p&gt;
Заменить строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$mysqld &amp;gt; $datadir/run.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/pre&gt;

&lt;p&gt;
на
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$mysqld --user=root &amp;gt; $datadir/run.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/pre&gt;

&lt;p&gt;
У меня это не заработало, под каким бы пользователем я не пробовал запустить и с какими ключами.
&lt;/p&gt;

&lt;p&gt;
Поэтому был выбран мошеннический способ: я ОТКЛЮЧИЛ тестирование MySQL путем правки файла php5-5.3.10/debian/rules
&lt;/p&gt;

&lt;p&gt;
Было:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;RUN_TESTS = yes
ifeq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
  $(warning Disabling checks due DEB_BUILD_OPTIONS)
  RUN_TESTS = no
endif
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),hurd-i386))
  $(warning Disabling checks on hurd-i386)
  RUN_TESTS = no
endif&lt;/pre&gt;

&lt;p&gt;
стало:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;RUN_TESTS = yes
ifeq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
  $(warning Disabling checks due DEB_BUILD_OPTIONS)
  RUN_TESTS = no
endif
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),hurd-i386))
  $(warning Disabling checks on hurd-i386)
  RUN_TESTS = no
endif

RUN_TESTS = no&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 6 1\/2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_6_12&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1940-3736&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;shag_7&quot;&gt;Шаг 7&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Собираем php5 командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo dpkg-buildpackage -rfakeroot&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 7&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_7&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3737-3849&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;shag_8&quot;&gt;Шаг 8&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Устанавливаем новые пакеты:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo dpkg -i *.deb&lt;/pre&gt;

&lt;p&gt;
и проверяем что у нас получилось:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# php5 -v
PHP 5.3.10-1ubuntu3.20.1~nosuhosin (cli) (built: Oct 28 2015 15:48:35)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=ubuntu&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; ubuntu&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/12.04?do=showtag&amp;amp;tag=12.04&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:12.04&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; 12.04&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/php5?do=showtag&amp;amp;tag=php5&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:php5&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; php5&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/suhosin?do=showtag&amp;amp;tag=suhosin&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:suhosin&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; suhosin&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/patch?do=showtag&amp;amp;tag=patch&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:patch&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; patch&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/mysql?do=showtag&amp;amp;tag=mysql&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:mysql&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; mysql&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/setup-mysql.sh?do=showtag&amp;amp;tag=setup-mysql.sh&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:setup-mysql.sh&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; setup-mysql.sh&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 8&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_8&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3850-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
    </channel>
</rss>
