<?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>Mac OS X Hints &#187; GD2</title>
	<atom:link href="http://macosxhints.ru/tag/gd2/feed" rel="self" type="application/rss+xml" />
	<link>http://macosxhints.ru</link>
	<description>узнайте больше прямо сейчас</description>
	<lastBuildDate>Wed, 01 Jun 2011 19:20:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Среда web-разработки на Mac OS X Leopard (часть 2)</title>
		<link>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-2</link>
		<comments>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-2#comments</comments>
		<pubDate>Sat, 10 Oct 2009 21:49:32 +0000</pubDate>
		<dc:creator>Rodion Baskakov</dc:creator>
				<category><![CDATA[Приложения]]></category>
		<category><![CDATA[Система]]></category>
		<category><![CDATA[GD2]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacPorts]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP-FPM]]></category>
		<category><![CDATA[web-разработка]]></category>
		<category><![CDATA[терминал]]></category>

		<guid isPermaLink="false">http://macosxhints.ru/?p=271</guid>
		<description><![CDATA[Теперь, после сборки баз данных, пришла пора установить PHP. Я ставил PHP 5.3.0, который в настоящий момент является последней стабильной версией, указанной на сайте PHP. Кроме того сразу стоит отметить, что я опишу именно процесс сборки PHP как CGI-приложения для последующего использования с каким-нибудь proxy-сервером (в моём случае, с nginx), так что если вы планируете [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://macosxhints.ru/wp-content/uploads/2009/10/php-logo.jpg" alt="PHP Logo" title="PHP Logo" width="143" height="76" align="left" style="margin-right:4px" />Теперь, после <a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1">сборки баз данных</a>, пришла пора установить PHP. Я ставил PHP 5.3.0, который в настоящий момент является последней стабильной версией, указанной на сайте PHP. Кроме того сразу стоит отметить, что я опишу именно процесс сборки PHP как CGI-приложения для последующего использования с каким-нибудь proxy-сервером (в моём случае, с nginx), так что если вы планируете собирать его как mod_php для сервера Apache, этот урок вам не подойдёт.<br />
Кроме того, в процессе моей сборки будет задействован менеджер процессов PHP-FPM, который позволяет более тонко управлять процессами PHP, необходимыми для обработки ваших сайтов. Но обо всём по порядку.</p>
<p><span id="more-271"></span><br />
<h3>Установка библиотек</h3>
<p>Итак, для начала нужно определиться, с чем собирать PHP. Лично для моих задач важна поддержка работы с изображениями (GD2) и шрифтами (Type 1 и Freetype), которые, в свою очередь, потребуют установки в систему ряда библиотек. Так что с них, пожалуй, и начнём. Для установки нужных библиотек, воспользуйтесь знакомой по <a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-0">предыдущим постам</a> утилитой из пакета MacPorts и выполните <a href="http://macosxhints.ru/kak-zapustit-terminal-v-mac-os">в терминале</a> следующее.</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo port install gd2</div>
<p>Эта команда установит в систему библиотеки для работы с графикой (в число которых входят libjpeg, libpng, libfreetype, libxpm и ряд других, необходимых для GD). Теперь установим t1lib (если поддержка шрифтов Adobe™ Type 1 вам не требуется. пропустите этот шаг, но тогда потом уберите из конфигурации PHP, которая будет описана ниже, опцию &#45;&#45;with-t1lib)</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo port install t1lib</div>
<h3 style="margin-top:15px">Сборка PHP с патчем FPM</h3>
<p>Теперь необходимо скачать исходники PHP и PHP-FPM. На <a href="http://www.php.net/downloads.php#v5">странице с доступными пакетами</a> выбираете тот, который вам необходим (в описываемом мною случае, 5.3.0), скачиваете (ориентирйтесь на надпись Complete Source Code), распаковываете директорию php-5.3.0. Теперь с <a href="http://php-fpm.org/Download">сайта PHP-FPM</a> нужно скачать менеджер процессов для той версии PHP, которую вы планируете устанавливать (в описываемом мною случае, php-fpm-0.6-5.3.0) и после скачивания, распаковываете его рядом с исходниками PHP.<br />
<a href="http://macosxhints.ru/kak-zapustit-terminal-v-mac-os">Откройте терминал</a> и перейдите в директорию, которая содержит папки с исходниками указанных продуктов. Нужно создать патч FPM, применить его к исходникам PHP, а затем подготовить место для необходимых при сборке файлов. Все необходимые для этого команды я привожу одной строкой, которую вы можете выполнить в терпинале:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">php-fpm-0.6-5.3.0/generate-fpm-patch && cd php-5.3.0 && patch -p1 < ../fpm.patch && ./buildconf &#45;&#45;force && mkdir fpm-build</div>
<p>Вот и всё, подготовительный этап закончен, теперь можно конфигурировать и собирать PHP. Как и в случае с базами данных, чтобы ознакомиться со списком всех доступных при конфигурации опций, нужно выполнить команду ./configure с параметром &#45;&#45;help, находясь в каталоге с исходниками PHP.</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">./configure &#45;&#45;help</div>
<p>После того, как определились, запускаете конфигуратор с нужными параметрами. В описываемом случае я устанавливаю PHP в директорию /usr/local/php-5.3.0, а также указываю местоположение необходимых мне библиотек:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">./configure &#45;&#45;enable-fpm &#45;&#45;prefix=/usr/local/php-5.3.0 \<br />
&#45;&#45;with-zlib &#45;&#45;enable-bcmath &#45;&#45;enable-calendar &#45;&#45;with-curl \<br />
&#45;&#45;with-libxml-dir &#45;&#45;enable-exif &#45;&#45;with-pcre-dir &#45;&#45;enable-ftp \<br />
&#45;&#45;with-gd=/opt/local/ &#45;&#45;with-jpeg-dir=/opt/local/ &#45;&#45;with-png-dir=/opt/local/ \<br />
&#45;&#45;with-freetype-dir=/opt/local/ &#45;&#45;with-t1lib=/opt/local/ \<br />
&#45;&#45;enable-gd-native-ttf &#45;&#45;with-gettext=/opt/local/ &#45;&#45;enable-mbstring &#45;&#45;enable-mbregex \<br />
&#45;&#45;with-mysql=/usr/local/mysql &#45;&#45;with-mysqli=/usr/local/mysql/bin/mysql_config \<br />
&#45;&#45;with-pdo-mysql=/usr/local/mysql &#45;&#45;with-pdo-pgsql=/usr/local/pgsql &#45;&#45;with-pgsql=/usr/local/pgsql \<br />
&#45;&#45;enable-sqlite-utf8 &#45;&#45;with-xmlrpc &#45;&#45;with-xsl &#45;&#45;with-xpm-dir=/usr/X11 &#45;&#45;with-iconv=shared,/opt/local/</div>
<p>О нормальном завершении конфигурации можно судить по тому, что у вас на экране терминала отсутствует слово <strong>Error</strong> и присутствует предложение "<strong>Thank you for using PHP</strong>". Если же есть какие-то ошибки, внимательно читайте, что именно не устраивает конфигуратор, или задавайте вопросы.<br />
Если конфигурация завершилась нормально, запускайте компиляцию:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">make</div>
<p>Если и после этого ошибки отсутствуют (как я вам тогда завидую!), можно устанавливать PHP:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo make install</div>
<p>Тут уже проблем возникнуть попросту не должно. Теперь, чтобы запустить PHP, потребуется произвести начальную конфигурацию PHP-FPM. С этим менеджером процессов сразу поставляется стартовая конфигурация, но в ней закомментированы поля, отвечающие за пользователя и группу, от имени которого должен работать PHP. Чтобы исправить этот недочёт, откройте любым текстовым редактором, который умеет сохранять plain-text файлы (ни в коем случае не Word!!!) файл php-fpm.conf, расположенный в директории /usr/local/php-5.3.0/etc/. Например так:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo vim /usr/local/php-5.3.0/etc/php-fpm.conf</div>
<p>И найдите там такие строки:</p>
<div style="border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px">&lt;value name="user"&gt;<br />
&lt;value name="group"&gt;</div>
<p>Уберите с них комментарии, и укажите нужное значение (я использую <strong>www</strong>).<br />
Осталось сделать пару последних штрихов:<br />
скопируйте файл с дефолтными настройками из директории с исходниками в директорию с установленным PHP</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo cp php.ini-development /usr/local/php/lib/php.ini</div>
<p>создайте ссылку на ваш PHP (я это делаю исключительно для удобства, этот шаг необязательный)</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo ln -s /usr/local/php-5.3.0 /usr/local/php</div>
<p>Вот и всё, теперь можно запускать PHP.</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo /usr/local/php/bin/php-cgi --fpm</div>
<p>Чтобы убедиться, что он запущен, можно поискать его в процессах:</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo ps aux | grep php-cgi</div>
<p>Чтобы остановить все запущенные процессы (например, при изменении настроек), нужно выполнить следующую команду</p>
<div style="background:#F7F6F7 url(http://macosxhints.ru/wp-content/uploads/media/icon-terminal.gif) no-repeat scroll 0 0;border:1px dotted #A0A0A0;margin-bottom:16px;padding:5px 10px 5px 40px">sudo killall php-cgi</div>
<p>На этом можно заканчивать, поскольку теперь у вас установлен PHP.<br />
Безусловно, в этом уроке описано далеко не всё. Например, PHP-FPM  можно собрать как самостоятельное приложение, и управлять процессом запуска PHP через него. А можно обойтись и вовсе без FPM. Как бы там ни было, я не ставил своей целью рассказать ВСЁ, поскольку это не имеет смысла: необходимую информацию можно почерпнуть как на <a href="http://php.net">официальном сайте PHP</a>, так и на <a href="http://http://php-fpm.org/">страницах PHP-FPM</a>. Но я всё же рассчитываю, что данная статья покажет, в каком направлении искать, и кому-то сильно сэкономит время.</p>
<p>Ну а в следующей статье, как и обещал, напишу про nginx, memcached и xdebug.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-3" title="Среда web-разработки на Mac OS X Leopard (часть 3) (18 Октябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 3)</a> (12)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1" title="Среда web-разработки на Mac OS X Leopard (часть 1) (30 Сентябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 1)</a> (27)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-4" title="Среда web-разработки на Mac OS X Leopard (часть 4 &#8211; последняя) (27 Октябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 4 &#8211; последняя)</a> (5)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-0" title="Среда web-разработки на Mac OS X Leopard (вступление) (28 Сентябрь 2009)">Среда web-разработки на Mac OS X Leopard (вступление)</a> (1)</li>
	<li><a href="http://macosxhints.ru/strannye-tryuki-s-razmerom-faia-v-finder" title="Странные трюки с размером файла в Finder (24 Февраль 2009)">Странные трюки с размером файла в Finder</a> (13)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-2/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

