С помощью параметров настройки Apache надо явно указать некоторые используемые РНР каталоги, чтобы работа с OS X проходила беспрепятственно, например:
./configure \
--with-mysql=/Users/roor/Desktop/mysq]-3.xx. xx \
\
\
--sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man
Строки типа --with-XX> должны присутствовать для всех расширений РНР, участвующих в установке.
Компиляция РНР
После надлежащей настройки РНР можно выполнить его компиляцию. Как и в случае Apache и MySQL, PHP компилируется с помощью пары следующих команд make:
make
make install
Иногда эти команды приводят к возникновению ошибок. Из-за различий между символами перевода строки в UNIX/DOS/Mac команда с о nfigure неправильно модифицирует файл internal_functions, с, находящийся в катало- re . /mair дерева исходного кода РНР. Сценарий configure должен вставить несколько директив «include, но вместо перевода строки вставляется только п, и несколько директив включения оказываются в одной строке. Чтобы исправить эту ошибку, откройте файл internal_functions. с и внесите исправления. Вместо
«include "ext/xml/php_xml.h"n#include "ext/standard/php_standarcf. h"n#inclu... должно быть
ffinclude "ext/xml/php_xml.h" : ■ «include "ext/standard/php_standard. h" tfinclu...
TV'S-•/•••., , .'■..,' ; r > - . - ,'1 -J:
Проще говоря, каждая директива #include должна располагаться на отдельной строке, а все п перед ними должны быть удалены, сколько бы их ни было. Учтите также, что мы показали лишь несколько первых директив #in- clude, которых касается эта проблема. Подобным образом должны быть исправлены все директивы включения. После исправления этой ошибки компиляция РНР должна осуществляться без проблем.
Действия после установки
После компиляции РНР нужно скопировать файл из каталога
исходного кода РНР туда, откуда согласно настройке РНР должен его загружать; по умолчанию это /usr/local/lib/php. ini:
ср php.ini-dist /usr/local/lib/php.ini
Необходимо отредактировать файл так, как это описано а разделе
«Установка в UNIX-подобных системах».
Интеграция РНР с Apache
Итак, Apache работает и скомпилирован РНР - настал момент их объединения. Вернитесь в каталог исходного кода Apache и еще раз выполните configure, чтобы активизировать РНР в Apache:
cd /Users/root/Desktop/apache_1.х. хх . /configure \ --exec-prefix=/usr \ --localstatedir=/var \
\
\
\
\
\
\
--target=apache \