<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unix notes &#187; php</title>
	<atom:link href="http://unix-notes.ru/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://unix-notes.ru</link>
	<description>Заметки по настройке Unix/Linux систем, хостинг-серверов</description>
	<lastBuildDate>Thu, 03 Nov 2011 12:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Устанавливаем акселлератор APC на CentOS+Apache</title>
		<link>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/</link>
		<comments>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 13:13:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[apc]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=670</guid>
		<description><![CDATA[Если у вас нагруженное веб-приложение и тесты показывают, что одно из узких мест это исполнение php-кода, то имеет смысл установить PHP-акселлератор. Один из лучших это APC от разработчиков самого PHP. Принцип его работы такой: он держит скомпилированный код php-файлов в памяти и при повторном обращении быстро его отдает. Устанавливаем его из репозитория Remi: yum --enablerepo=remi [...]]]></description>
			<content:encoded><![CDATA[<p>Если у вас нагруженное веб-приложение и тесты показывают, что одно из узких мест это исполнение php-кода, то имеет смысл установить PHP-акселлератор. Один из лучших это <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/APC" >APC</a></noindex> от разработчиков самого PHP. Принцип его работы такой: он держит скомпилированный код php-файлов в памяти и при повторном обращении быстро его отдает.<br />
Устанавливаем его из репозитория <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com/" >Remi</a></noindex>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum --enablerepo=remi install php-pecl-apc</div></div>
<p>Теперь смотрим конфиг /etc/php.d/apc.ini, самые важные параметры:<br />
# Включаем кэширование<br />
apc.enabled=1<br />
# количество блоков с кэшем в памяти<br />
apc.shm_segments=1<br />
# размер каждого блока<br />
apc.shm_size=256M<br />
# время устаревания кэшированных файлов<br />
apc.ttl=3600<br />
apc.max_file_size=1M<br />
# если выключить, apc не будет проверять не изменился ли файл при обращении к нему.<br />
apc.stat=1</p>
<p>Для каждого сервера надо подбирать свои параметры размера блока и срока устаревания кэша. Потому как иногда при заполнении памяти APC может падать с ошибкой &#8220;unable to allocate memory for pool&#8221; подробнее читать <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/bugs/bug.php?id=16966" >тут</a></noindex>.<br />
Для  мониторинга состояния кэша APC удобно использовать прилагаемую к дистрибутиву утилиту apc.php. Просто <noindex><a rel="nofollow" target="_blank" href="http://pecl.php.net/get/APC" >скачиваете</a></noindex> дистр и кладете файлик в любой виртуалхост.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/08/03/ustanavlivaem-aksellerator-apc-na-centosapache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Разные php.ini для Apache и консольных скриптов</title>
		<link>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/</link>
		<comments>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 13:04:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=657</guid>
		<description><![CDATA[Иногда бывает нужно сделать так, чтобы апач и скрипты запускаемые кроном имели разные php.ini. К примеру, для того чтобы ограничить скрипты апача разными disable_functions. Просто создаем копию php.ini в любом месте, допустим, это будет версия для Apache. Добавляем в нее: disable_functions=popen,exec,system,passthru,proc_open,shell_exec Это серьезно усложнит жизнь злоумышленнику на пути повышения привилегий. И прописываем путь к этому [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда бывает нужно сделать так, чтобы апач и скрипты запускаемые кроном имели разные php.ini. К примеру, для того чтобы ограничить скрипты апача разными disable_functions.<br />
Просто создаем копию php.ini в любом месте, допустим, это будет версия для Apache. Добавляем в нее:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">disable_functions=popen,exec,system,passthru,proc_open,shell_exec</div></div>
<p>Это серьезно усложнит жизнь злоумышленнику на пути повышения привилегий.<br />
И прописываем путь к этому php.ini в httpd.conf:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">PHPIniDir /etc/httpd/php.ini</div></div>
<p>Перезапускаем апач и простеньким скриптом проверяем что получилось:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php<br />
system('ls -la');<br />
?&gt;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2011/02/02/raznye-php-ini-dlya-apache-i-konsolnykh-skriptov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка PHP5.2 из портов на FreeBSD</title>
		<link>http://unix-notes.ru/2010/05/31/ustanovka-php5-2-iz-portov-na-freebsd/</link>
		<comments>http://unix-notes.ru/2010/05/31/ustanovka-php5-2-iz-portov-na-freebsd/#comments</comments>
		<pubDate>Mon, 31 May 2010 08:30:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=609</guid>
		<description><![CDATA[Сейчас в портах есть порт php52, но у меня он корректно собрался с модулем апача только с Apache 2.2. Поэтому в скрипте автоматической установки будет небольшое исправление: make WITHOUT_SAMBA=yes -DBATCH -C /usr/ports/misc/mc install clean make WITH_RC_NG=yes -DBATCH -C /usr/ports/ftp/vsftpd install clean make WITHOUT_IPV6=yes -DBATCH -C /usr/ports/www/apache22 install clean make WITH_CHARSET=utf8 WITH_COLLATION=utf8_unicode_ci -DBATCH -C /usr/ports/databases/mysql51-server install [...]]]></description>
			<content:encoded><![CDATA[<p>Сейчас в портах есть порт php52, но у меня он корректно собрался с модулем апача только с Apache 2.2. Поэтому в <a href="http://unix-notes.ru/2009/07/05/skript-avtomaticheskojj-ustanovki-tipovogo-veb-servera-na-freebsd/">скрипте автоматической установки</a> будет небольшое исправление:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">make WITHOUT_SAMBA=yes -DBATCH -C /usr/ports/misc/mc install clean<br />
make WITH_RC_NG=yes -DBATCH -C /usr/ports/ftp/vsftpd install clean<br />
make WITHOUT_IPV6=yes -DBATCH -C /usr/ports/www/apache22 install clean<br />
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_unicode_ci -DBATCH -C /usr/ports/databases/mysql51-server install clean<br />
make WITH_APACHE=yes WITHOUT_IPV6=yes -DBATCH -C /usr/ports/lang/php52 install clean<br />
make WITH_BUNDLED_PCRE=yes -DBATCH -C /usr/ports/devel/php52-pcre install clean<br />
make WITH_MBSTRING=yes WITH_CURL=yes WITH_FTP=yes WITH_GD=yes WITH_MCRYPT=yes WITH_MYSQL=yes WITH_MYSQLI=yes WITH_OPENSSL=yes WITH_SOCKETS=yes WITH_ZLIB=yes -DBATCH -C /usr/ports/lang/php52-extensions install clean<br />
make -DBATCH -C /usr/ports/www/mod_geoip2 install clean<br />
make WITH_HTTP_FLV_MODULE=yes -DBATCH -C /usr/ports/www/nginx install clean<br />
make -DBATCH -C /usr/ports/www/mod_rpaf2 install clean<br />
make -DBATCH -C /usr/ports/devel/ZendOptimizer install clean</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/05/31/ustanovka-php5-2-iz-portov-na-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ошибка в работе pcre (preg_match) во FreeBSD</title>
		<link>http://unix-notes.ru/2010/04/22/oshibka-v-rabote-pcre-preg_match-vo-freebsd/</link>
		<comments>http://unix-notes.ru/2010/04/22/oshibka-v-rabote-pcre-preg_match-vo-freebsd/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 09:12:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=604</guid>
		<description><![CDATA[В версиях php5-pcre 5.2 и ниже возможна ошибка проявляющаяся как: Warning: preg_match() [function.preg-match]: Internal pcre_fullinfo() error Причина этого проста &#8211; при сборке этого порта забыли поставить галочку для поддержки апача. Т.е. надо просто сделать make config этому порту и переустановить его.]]></description>
			<content:encoded><![CDATA[<p>В версиях php5-pcre 5.2 и ниже возможна ошибка проявляющаяся как:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Warning: preg_match() [function.preg-match]: Internal pcre_fullinfo() error</div></div>
<p>Причина этого проста &#8211; при сборке этого порта забыли поставить галочку для поддержки апача. Т.е. надо просто сделать make config этому порту и переустановить его.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/04/22/oshibka-v-rabote-pcre-preg_match-vo-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка eAccelerator на CentOS с DirectAdmin</title>
		<link>http://unix-notes.ru/2010/02/16/ustanovka-eaccelerator-na-centos-s-directadmin/</link>
		<comments>http://unix-notes.ru/2010/02/16/ustanovka-eaccelerator-na-centos-s-directadmin/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 12:13:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[DirectAdmin]]></category>
		<category><![CDATA[eAccelerator]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=574</guid>
		<description><![CDATA[Перед установкой вам может понадобиться php-devel, autoconf. Тогда просто ставим их через yum yum install php-devel yum install autoconf cd /usr/local/src mkdir eAccelerator cd eAccelerator wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2 tar -xvjf eaccelerator-0.9.6.tar.bz2 cd eaccelerator-0.9.6 export PHP_PREFIX=&#34;/usr/local&#34; $PHP_PREFIX/bin/phpize ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config make make install cd /tmp mkdir eaccelerator chmod 0777 eaccelerator Теперь правим php.ini. Например, при установленных ZendOptimizer, [...]]]></description>
			<content:encoded><![CDATA[<p>Перед установкой вам может понадобиться php-devel, autoconf. Тогда просто ставим их через yum</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install php-devel<br />
yum install autoconf</div></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cd /usr/local/src<br />
mkdir eAccelerator<br />
cd eAccelerator<br />
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2<br />
tar -xvjf eaccelerator-0.9.6.tar.bz2<br />
cd eaccelerator-0.9.6<br />
export PHP_PREFIX=&quot;/usr/local&quot;<br />
$PHP_PREFIX/bin/phpize<br />
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config<br />
make<br />
make install<br />
cd /tmp<br />
mkdir eaccelerator<br />
chmod 0777 eaccelerator</div></div>
<p>Теперь правим php.ini. Например, при установленных ZendOptimizer, ionCube и eAccelerator он должен быть примерно таким (порядок подключения модулей важен!):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">extension_dir = &quot;/usr/local/lib/php/extensions/no-debug-non-zts-20060613&quot;<br />
<br />
[eAccelerator]<br />
extension=&quot;eaccelerator.so&quot;<br />
eaccelerator.shm_size=&quot;64&quot;<br />
eaccelerator.cache_dir=&quot;/tmp/eaccelerator&quot;<br />
eaccelerator.enable=&quot;1&quot;<br />
eaccelerator.optimizer=&quot;1&quot;<br />
eaccelerator.check_mtime=&quot;1&quot;<br />
eaccelerator.debug=&quot;0&quot;<br />
eaccelerator.filter=&quot;&quot;<br />
eaccelerator.shm_max=&quot;0&quot;<br />
eaccelerator.shm_ttl=&quot;100&quot;<br />
eaccelerator.shm_prune_period=&quot;1800&quot;<br />
eaccelerator.shm_only=&quot;0&quot;<br />
eaccelerator.compress=&quot;1&quot;<br />
eaccelerator.compress_level=&quot;9&quot;<br />
<br />
[Zend]<br />
zend_extension = /usr/lib64/ioncube/ioncube_loader_lin_5.2.so<br />
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3<br />
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3<br />
zend_optimizer.version=3.3.3<br />
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so<br />
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so</div></div>
<p>Теперь проверяем и релоадим апач:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">php -i |grep eacc<br />
/etc/init.d/httpd reload</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/02/16/ustanovka-eaccelerator-na-centos-s-directadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблема с php5-ffmpeg на FreeBSD</title>
		<link>http://unix-notes.ru/2010/01/28/problema-s-php5-ffmpeg-na-freebsd/</link>
		<comments>http://unix-notes.ru/2010/01/28/problema-s-php5-ffmpeg-na-freebsd/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:18:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=563</guid>
		<description><![CDATA[На сегодняшний день имеется проблема выражающаяся в том, что одна из основных функций toGDImage() не работает выдавая ошибку &#8220;ffmpeg.so: Undefined symbol img_convert&#8221; Этот патч проблему не решил. Помогло следующее: порт multimedia/ffmpeg должен быть собран без swscaler. Для этого нужно поправить Makefile. Т.е. сделать &#8211;disable-swsсale. После пересборки самого ffmpeg, пересобрать и php-ffmpeg.]]></description>
			<content:encoded><![CDATA[<p>На сегодняшний день имеется проблема выражающаяся в том, что одна из основных функций toGDImage() не работает выдавая ошибку &#8220;ffmpeg.so: Undefined symbol img_convert&#8221;<br />
Этот <noindex><a rel="nofollow" target="_blank" href="http://vokulov.ru/2009/05/01/ffmpeg-php-не-работает-функция-togdimage/" >патч</a></noindex> проблему не решил.<br />
Помогло следующее: порт multimedia/ffmpeg должен быть собран без swscaler. Для этого нужно поправить Makefile. Т.е. сделать &#8211;disable-swsсale. После пересборки самого ffmpeg, пересобрать и php-ffmpeg.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/01/28/problema-s-php5-ffmpeg-na-freebsd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Отображение ошибок в PHP</title>
		<link>http://unix-notes.ru/2010/01/11/otobrazhenie-oshibok-v-php/</link>
		<comments>http://unix-notes.ru/2010/01/11/otobrazhenie-oshibok-v-php/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 12:40:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=547</guid>
		<description><![CDATA[Включить отображение ошибок в PHP-скриптах можно несколькими способами: Внести изменения в php.ini и релоаднуть апач. Эти изменения затронут все сайты. error_reporting = E_ALL display_errors = On display_startup_errors = On log_errors = On log_errors_max_len = 1024 error_log = /var/log/php-error.log Внести в .htaccess расположенный в папке скрипта. Это рекомендуемый способ: php_value display_errors 1 php_value display_startup_errors 1 Внести [...]]]></description>
			<content:encoded><![CDATA[<p>Включить отображение ошибок в PHP-скриптах можно несколькими способами:<br />
Внести изменения в php.ini и релоаднуть апач. Эти изменения затронут все сайты.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">error_reporting = E_ALL<br />
display_errors = On<br />
display_startup_errors = On<br />
log_errors = On<br />
log_errors_max_len = 1024<br />
error_log = /var/log/php-error.log</div></div>
<p>Внести в .htaccess расположенный в папке скрипта. Это рекомендуемый способ:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">php_value display_errors 1<br />
php_value display_startup_errors 1</div></div>
<p>Внести изменения в сам скрипт:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ini_set(&quot;display_errors&quot;,&quot;1&quot;);<br />
ini_set(&quot;display_startup_errors&quot;,&quot;1&quot;);<br />
ini_set('error_reporting', E_ALL);</div></div>
<p>С этим методом такой нюанс: ошибки типа не закрытых скобок и не проставленных ; все равно будут приводить к белому экрану. Это происходит потому, что парсинг файла на синтаксическую корретность происходит до его выполнения и, соответственно, установки директив.<br />
Это можно обойти подобным образом:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php <br />
&nbsp;error_reporting(E_ALL); <br />
&nbsp;ini_set(&quot;display_errors&quot;, 1); <br />
&nbsp;include(&quot;file_with_errors.php&quot;); <br />
?&gt;</div></div>
<p><noindex><a rel="nofollow" target="_blank" href="http://www.php.net/manual/en/errorfunc.configuration.php">Документация по соответствующим директивам PHP</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/01/11/otobrazhenie-oshibok-v-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP 5.3 и PHP 5.2.10</title>
		<link>http://unix-notes.ru/2009/09/01/php-5-3-i-php-5-2-10/</link>
		<comments>http://unix-notes.ru/2009/09/01/php-5-3-i-php-5-2-10/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 09:28:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=460</guid>
		<description><![CDATA[После выхода PHP 5.3 в популярном репозитории REMI для RHEL/CentOS PHP-пакеты были заменены на версию 5.3. В некоторых случаях это создает неудобства, так как далеко не все веб-приложения и скрипты работоспособны под этой версией. Поэтому при сетапе или обновлении сервера надо либо отключать этот репозиторий или ставить 5.2.10 пакеты вручную для i386 и для x86_64]]></description>
			<content:encoded><![CDATA[<p>После выхода PHP 5.3 в популярном репозитории <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com">REMI</a></noindex> для RHEL/CentOS PHP-пакеты были заменены на версию 5.3. В некоторых случаях это создает неудобства, так как далеко не все веб-приложения и скрипты работоспособны под этой версией. Поэтому при сетапе или обновлении сервера надо либо отключать этот репозиторий или ставить 5.2.10 пакеты вручную для <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com/enterprise/5/olds/i386/">i386</a></noindex> и для <noindex><a rel="nofollow" target="_blank" href="http://rpms.famillecollet.com/enterprise/5/olds/x86_64/">x86_64</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/09/01/php-5-3-i-php-5-2-10/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>suPHP для PHP под Apache</title>
		<link>http://unix-notes.ru/2009/08/04/suphp-dlya-php-pod-apache/</link>
		<comments>http://unix-notes.ru/2009/08/04/suphp-dlya-php-pod-apache/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 14:02:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[suphp]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=452</guid>
		<description><![CDATA[Если по простому,то suPHP это штука, которая позволяет выполнять PHP-скрипты под Apache с правами их владельца, а не с правами веб-сервера. Это бывает необходимо если на сервере несколько пользователей (например, фтп), они активно меняют контент сайтов, но веб-серверу тоже нужен доступ к этим файлам. Тут то и происходит конфликт владельцев. suPHP есть и в портах [...]]]></description>
			<content:encoded><![CDATA[<p>Если по простому,то <noindex><a rel="nofollow" target="_blank" href="http://www.suphp.org/">suPHP</a></noindex> это штука, которая позволяет выполнять PHP-скрипты под Apache с правами их владельца, а не с правами веб-сервера. Это бывает необходимо если на сервере несколько пользователей (например, фтп), они активно меняют контент сайтов, но веб-серверу тоже нужен доступ к этим файлам. Тут то и происходит конфликт владельцев.<br />
suPHP есть и в портах для FreeBSD:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cd /usr/ports/www/suphp &amp;&amp; make install clean</div></div>
<p>и в пакетах для CentOS:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum install mod_suphp</div></div>
<p>Запускается как обычный модуль для апача:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">LoadModule php5_module libexec/apache2/libphp5.so<br />
LoadModule suphp_module libexec/apache2/mod_suphp.so</div></div>
<p>Конфиги в файле suphp.conf</p>
<p>Внимательнее к параметрам:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">; Security options<br />
allow_file_group_writeable=false<br />
allow_file_others_writeable=false<br />
allow_directory_group_writeable=false<br />
allow_directory_others_writeable=false</div></div>
<p>Из-за них может посыпаться много ошибок.</p>
<p>Для активации надо прописать либо в глобальной секции httpd.conf, либо в конкретном виртуал-хосте:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">suPHP_Engine on<br />
suPHP_AddHandler application/x-httpd-php</div></div>
<p>Не путать с модулем для апача <noindex><a rel="nofollow" target="_blank" href="http://httpd.apache.org/docs/2.2/suexec.html">suexec</a></noindex>!</p>
<p>Замечен такой косяк: если надо запускать что-то через exec и по относительному пути исполняемый файл не находится, то надо убедится, что в suphp.conf прописано с кавычками!</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">env_path=&quot;/bin:/usr/bin&quot;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/08/04/suphp-dlya-php-pod-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Закачка больших файлов через PHP</title>
		<link>http://unix-notes.ru/2009/07/07/zakachka-bolshikh-fajjlov-cherez-php/</link>
		<comments>http://unix-notes.ru/2009/07/07/zakachka-bolshikh-fajjlov-cherez-php/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:38:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=413</guid>
		<description><![CDATA[Вот что нужно поправить: Во-первых, в nginx.conf надо client_max_body_size 20m; Иначе если запрос не будет пролазить в этот лимит nginx покажет 413 Request Entity Too Large для некоторых браузеров или просто сбросит соединение. В apache убедиться что не определено LimitRequestBody или имеет подходящий лимит. Если установлен mod_security то проверить еще SecRequestBodyLimit. И наконец, в php.ini: [...]]]></description>
			<content:encoded><![CDATA[<p>Вот что нужно поправить:<br />
Во-первых, в nginx.conf надо</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">client_max_body_size 20m;</div></div>
<p>Иначе если запрос не будет пролазить в этот лимит nginx покажет 413 Request Entity Too Large для некоторых браузеров или просто сбросит соединение.</p>
<p>В apache убедиться что не определено LimitRequestBody или имеет подходящий лимит. Если установлен mod_security то проверить еще SecRequestBodyLimit.</p>
<p>И наконец, в php.ini:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">post_max_size = 20M<br />
upload_max_filesize = 20M</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/07/07/zakachka-bolshikh-fajjlov-cherez-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

