Главная » Мастерская » Статьи » Документация по PHP

Установка PHP

Общее обсуждение установки

До того, как вы начнёте в первый раз устанавливать PHP, вам необходимо знать, для чего вы хотите его использовать. Есть три главные области, в которых PHP в которых PHP может использоваться:

написание серверных скриптов

написание скриптов для командной строки

клиентские GUI приложения

Для первой, и, наиболее общей формы, вам нужно три вещи: PHP сам по себе, веб сервер и веб браузер. У вас очевидно уже есть веб браузер, и, в зависимости от инсталляции вашей операционной системы, вы можете так же иметь веб сервер (например, Apache в Linux и IIS в Windows). Вы можете так же арендовать веб пространство у компании. В этом случае, вам не нужно ничего устанавливать самостоятельно, просто пишите ваши PHP, закачивайте их на сервер, который вы арендуете, и смотрите результат в вашем браузере. Вы можете найти список хостингов на http://hosts.php.net/.

Когда вы сами устанавливаете PHP, вы можете выбрать один из двух методов взаимодействия PHP с сервером. На большинстве серверов PHP в прямом режиме (так же называемым ISAPI). Например, на серверах Apache, Microsoft Internet Information Server, Netscape and iPlanet. Многие другие сервера так же имеют поддержку для ISAPI (например, OmniHTTPd). Если PHP не поддерживает модульный режим на вашем сервере, вы всегда можете использовать его как CGI процессор. Это значит, что вам нужно установить ваш сервер для использования инерперетатора PHP командной строки (php.exe в Windows), для выполнения всех PHP файлов, запрошенных с сервера.

Если вы так же заинтересованы в использовании PHP для создания скриптов, исполняющихся из командной строки (например, автоматический генерирующих некоторые изображений для вас, без вашего участия, или исполнения текстовых файлов в зависимости от аргументов, которые вы им передали), вам всегда нужен исполнимый файл. Для дополнительной информации прочитайте про написание PHP приложений для командной строки. Для этого вам не нужен ни сервер, ни браузер.

С помощью PHP вы так же можете писать клиентские GUI приложения, используя расширение PHP-GTK. Это совершенно другой подход, чем написание веб-страниц, так как вы не выводите HTML, но управляете с его использованием окнами о объектами. Для дополнительной информации посетите сайт, разработанный для этого расширения. PHP-GTK не включён в официальный дистрибутив PHP.

Здесь описывается установка PHP для веб-серверов на платформах Unix и Windows как серверный модуль, и как CGI приложение.

Скачать исходный код и двоичный дистрибутив для Windows можно с http://www.php.net. Мы рекомендуем вам выбрать ближайшее зеркало, для скачивания дистрибутивов.

Установка для Apache

Эта секция содержит заметки для установки PHP для веб-сервера Apache как для Unix версии, так и для версии PHP для Windows.

Установка PHP для Apache под Unix

Вы можете добавить аргументы в конфигурацию в строке 10 из списка опций конфигурирования (который может быть получен, если запустить configure с параметром --help). Некоторое число параметров было здесь опущено для того, что бы быть уверенным, что инструкции правильны. Вам нужно будет заменить 'xxx' здесь корректным значение для ваших файлов.

Пример 1. Параметры установки для PHP 4 (серверного модуля Apache)

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx
10. ./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install

Если вы решили изменить вашу конфигурацию после установки, вам нужно только повторить последние три действия. И затем перезапустить Apache для того, что бы изменения вступили в силу. Рекомпиляция Apache не требуется.

13. cp php.ini-dist /usr/local/lib/php.ini

Вы можете отредактировать ваш .ini файл для установки опций PHP. Если вы предпочитаете, что бы этот файл находился в другом месте, используйте параметр --with-config-file-path=/path на стадии 10.

14. Отредактируйте ваш httpd.conf или srm.conf файл, для проверки того, что эти строки в них присутствуют и незакоментированны:

   AddType application/x-httpd-php .php
   LoadModule php4_module        libexec/libphp4.so

Здесь вы можете использовать любое расширение. .php это просто расширение, которое мы вам предлагаем. Вы можете даже назначить .html, и .php3 может быть добавлено для обратной совместимости. Путь справа от выражения LoadModule должен указывать на PHP модуль в вашей системе. Верхнее выражение правильно только для стадий, которые приведены вверху.

15. Используйте обычную процедуру для запуска сервера Apache (вы должны остановить и перезапустить сервер, сигнала HUP или USR1 недостаточно).

В зависимости от инсталляции Apache и Unix, существует много путей для того, что бы перезапустить сервер. Ниже приведён пример нескольких типичных команд, используемых для перезапуска сервера. Вы должны заменить /path/to/ путём к этому приложению в вашей системе.

1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart

2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl and httpsdctl (Using OpenSSL),
similar to apachectl:

/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Using mod_ssl, or another SSL server,
you may want to manually stop and start:

/path/to/apachectl stop
/path/to/apachectl startssl

Различные примеры компиляции PHP для Apache:

./configure --with-apxs --with-pgsql

Этот пример создаст разделяемую библиотеку libphp4.so, которая загружается в Apache использованием команды LoadModule в конфигурационном файле httpd.conf. Поддержка PostgreSQL будет включена в эту библиотеку.

./configure --with-apxs --with-pgsql=shared

Этот пример создаст разделяемую библиотеку libphp4.so для Apache, но так же будет создана разделяемая библиотека pgsql.so, которая загружается PHP либо с использованием директивы extension в файле php.ini, либо загрузкой из скрипта, с помощью функции dl().

./configure --with-apache=/path/to/apache_source
--with-pgsql

Следующий пример создаст библиотеку libmodphp4.a, mod_php4.c и некоторые сопутствующие файлы, и скопирует их в директорию src/modules/php4 в дереве исходников Apache. Затем скомпилируйте Apache с использованием директивы --activate-module=src/modules/php4/libphp4.a и система компоновки Apache создаст libphp4.a и статический включит его, а двоичный код HTTP демона. Поддержка PostgreSQL включена прямо в двоичный файл, так окончательным результатом будет единый двоичный файл демона, который включает всё из Apache и PHP.

./configure --with-apache=/path/to/apache_source
--with-pgsql=shared

Всё будет так же, как в предыдущем примере, кроме того, что PostgreSQL теперь прямо не поддерживается, вы получите разделяемую библиотеку pgsql.so, которую можете загрузить в PHP либо директивой extension в php.ini или функцией dl() в сценарии.

Когда вы вбираете, каким образом скомпилировать PHP вы должны обдумать все преимущества и препятствия для каждого метода. Компиляция в виде разделяемого модуля будет означать, что вы компилируете Apache раздельно, и вам не нужно будет перекомпилировать всё, когда вы добавите или измените что-нибудь в PHP. Компоновка вместе с Apache (статический метод) значит, что PHP будет загружаться, и работать быстрее. Для дополнительной информации смотри раздел "Поддержка DSO" в документации к веб-серверу Apache.

Замечание: конфигурационный файл httpd.conf по умолчанию содержит секцию, похожую на эту:

User nobody
Group "#-1"

Несмотря на то, что вы заменили это на что-то вроде "Group nogroup" или "Group daemon" PHP не сможет открывать файлы.

Замечание: убедитесь, что вы указали работающую версию apxs, когда использовали --with-apxs=/ path/to/apxs. Вы не должны использовать версию apxs, которая находится в исходниках Apache вместо той, которая действительно установлена в вашей системе.

Установка PHP в Windows с Apache 1.3.x

Существует два способа установки PHP для работы с Apache 1.3.x на Windows системах. Одна, это использовать CGI приложение (php.exe), друга использовать модуль Apache (DLL). В любом случае вам нужно остановить Apache и отредактировать srm.conf или httpd.conf для настройки Apache на работу вместе с PHP.

Очень важно заметить, что сейчас SAPI модуль сделан более стабильным на Windows системах, мы рекомендуем использовать его вместо CGI приложения, так как это более прозрачно и безопасно.

Хотя, здесь может быть несколько вариантов настройки PHP под Apache, этот процесс достаточно простой, даже для начинающих. Пожалуйста, прочитайте Документацию к серверу Apache для более детального изучения конфигурационных директив.

Если вы распаковали дистрибутив PHP в c:\php\ как описано в руководстве, вам нужно добавить следующие строки в конфигурационный файл Apache для установки CGI приложения:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"

Заметьте, что вторая строка может быть найдена в последней версии httpd.conf, но она закомментирована. Не забудьте также подставить c:/php/ в нужные места для указания пути, где у вас размещён PHP.

Внимание

Установив CGI версию PHP на ваш сервер, вы открываете его для нескольких возможных атак. Пожалуйста, прочитайте раздел по безопасности CGI для того, что бы понять, как защитить себя от атак.

Если вы хотите использовать PHP как модуль Apache, убедитесь, что вы переместили php4ts.dll в windows/system (для Windows 9x/Me) или в директорию winnt/system32 (для Windows NT/2000/XP), перезаписав при этом любую старую версию этого файла. Затем вы должны добавить следующие две строки в конфигурационный файл Apache:

LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php .phtml

После изменения конфигурационного файла, не забудьте перезапустить ваш сервер, например, набрав в командной строке NET STOP APACHE и, затем, NET START APACHE, если вы запускали Apache как служба Windows, или используйте ярлык.

Замечание: после использования windows installer вы можете обнаружить, что вам необходимо определить AddModule директиву для mod_php4.c в конфигурационном файле (httpd.conf). Это может быть сделано, путём добавления строки AddModule mod_php4.c в список модулей рядом с началом конфигурационного файла. Это особенно важно, если определена директива ClearModuleList. Если это будет сделано неправильно, то PHP не будет зарегистрирован как модуль Apache.

Есть два пути, по которым вы можете использовать возможность выделения исходного кода, однако эта возможность зависит от способа, которым вы установили PHP. Если вы настроили Apache для использования PHP ISAPI модуля, то далее, добавив следующую линию в конфигурационный файл, вы можете использовать эту возможность: AddType application/x-httpd-php-source .phps

Если вы используете PHP как CGI приложение, вам будет нужно использовать функцию show_source(). Для того, что бы сделать это, просто создайте PHP скрипт следующего содержания: <?php show_source ("original_php_script.php"); ?>. Замените original_php_script.php именем файла, чей исходник вы хотите вывести.

Замечание: в Win-Apache все обратные слеши в пути, например "c:\directory\file.ext", должны быть преобразованы в прямые слеши: "c:/directory/file.ext".

Серверы IIS/PWS

Этот раздел содержит замечания, специфичные для IIS (Microsoft Internet Information Server). Установка PHP для PWS/IIS 3, PWS 4 или выше и IIS 4 или более новой версии.

Windows и PWS/IIS 3

Рекомендуемый метод настройки этих серверов, это использование REG файла, включаемого в дистрибутив (pws-php4cgi.reg). Вам может потребоваться установить пути, подходящие для вашей конфигурации. Или вы можете проделать следующие действия вручную.

Внимание

Эти действия напрямую работают с реестром Windows. Одна ошибка здесь может вызвать нестабильную работу вашей системы. Мы сильно рекомендуем вам зарезервировать ваш реестр до того, как вы измените там что-нибудь. Команда разработчиков PHP не несёт ответственности, если ваш реестр окажется повреждён.

Запустите Regedit.

Перейдите в: HKEY_LOCAL_MACHINE /System /CurrentControlSet / Services /W3Svc /Parameters /ScriptMap.

В меню edit выберите: New->String Value.

напечатайте расширение, которое вы хотите использовать для ваших PHP скриптов. Например .php

Сделайте двойной щелчок на string value и введите путь к php.exe в поле для ввода данных, например: c:\php\php.exe.

Повторите это действие для каждого расширения, которое вы хотите ассоциировать с PHP скриптами

Следующие действия не влияют на настройку веб-сервера и работают только тогда, когда вы хотите выполнить PHP скрипты из командной строки ( например, run c:\myscripts\test.php) или двойным щелком по ним в окне обзора каталога. Вы можете пропустить эти шаги, если вы предпочитаете, что бы PHP скрипты в текстовый редактор, когда вы щёлкаете по ним два раза.

Перейдите в: HKEY_CLASSES_ROOT

В меню edit выберите: New->Key.

Дайте ключу имя, сходное с тем, которое вы ему дали в предыдущем разделе, например: .php

Выделите новый ключ, с правой стороны щёлкните по "default value" т введите phpfile.

Повторите последнее действие для каждого расширения, которое вы установили в предыдущем разделе.

Теперь создайте другой New->Key в HKEY_CLASSES_ROOT и назовите его phpfile.

Выделите новый ключ phpfile и, справа от него, щёлкните два раза по "default value", теперь введите PHP Script.

Щелкните правой кнопкой мыши по ключу phpfile и выберите New->Key, назовите его Shell.

Щелкните правой кнопкой мыши по ключу Shell и выберите New->Key, назовите его open.

Щёлкните правой кнопкой мыши по ключу open и выберите New->Key, назовите его command.

Выделите новый ключ command и, справа от него, дважды щёлкните по "default value", введите путь к php.exe. Например: c:\php\php.exe -q %1. (не забудьте %1).

Выйдите из Regedit.

Если вы используете PWS для Windows, перезагрузитесь для того, что бы обновить реестр.

Пользователи PWS and IIS 3 получат полностью работоспособную систему. Пользователи IIS 3 могут использовать остроумную программу от Steven Genusa для конфигурирования их карт скриптов.

Windows и PWS 4 или новее

Когда вы устанавливаете PHP в Windows с PWS 4 или более новой версией, вы можете выбрать два варианта. Один это установить PHP как

Если вы выбрали CGI приложение, проделайте следующее:

Отредактируйте вложенный файл pws-php4cgi.reg (посмотрите в директории SAPI) для того, что бы он отражал местоположение вашего php.exe. Впереди слеши должны быть пропущены, например: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\php.exe"

В PWS Manager, щелкните правой кнопкой мыши по директории, где вы хотите включить поддержку PHP, и выберите Properties. Проверьте, что флажок 'Execute' отмечен и подтвердите изменения.

Если вы выбрали ISAPI модуль, проделайте следующее:

Отредактируйте вложенный файл pws-php4isapi.reg (поищите в директории SAPI), для того, что бы он отражал местоположение вашего php4isapi.dll. Впереди слеши должны быть пропущены, например: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll"

В PWS Manager, щёлкните правой кнопкой мыши по директории, где вы хотите включить поддержку PHP, и выберите Properties. Проверьте, что флажок 'Execute' установлен и подтвердите изменения.

Windows NT/2000/XP и IIS 4 или выше

Для того, что бы установить PHP на машине NT/2000/XP, с сервером IIS 4 или более новой версией, выполните следующие инструкции: вы можете установить PHP как CGI приложение (php.exe) или как ISAPI модуль.

В любом случае вам необходимо запустить Microsoft Management Console (может появиться как 'Internet Services Manager', либо в ветви Windows NT 4.0 Option Pack или в Control Panel=>Administrative Tools под Windows 2000/XP). Затем щёлкните правой кнопкой мыши по вашему веб-узлу (скорей всего появляется как 'Default Web Server'), и выберите 'Properties'.

Если вы хотите использовать CGI приложение, проделайте следующее;

В 'Home Directory', 'Virtual Directory', или 'Directory', щелкните на кнопке 'Configuration', и затем введите App Mappings tab.

Щелкните Add в поле Executable, напишите c:\php\php.exe (полагая, что вы распаковали PHP в c:\php\).

В поле Extension box, напишите имя файла и расширение, которое вы хотите связать с PHP скриптами. Оставьте поле 'Method exclusions' пустым и пометьте флажок 'Script engine'. Вы можете также захотеть отметить флажок 'check that file exists' - с небольшим уменьшением производительности, IIS (или PWS) будет проверять, существует ли файл со скриптом, и будет осуществлять аутентификацию до вызова PHP. Это значит, что вы получите ошибку 404 вместо ошибки CGI, где будет указано, что PHP ничего не вывел.

Вы должны проделать это для каждого расширения, которое вы хотите связать с PHP скриптами. .php и .phtml наиболее часто встречающиеся, хотя .php3 может быть затребовано существующими приложениями.

Установите соответствующие настройки безопасности (Это можно сделать в Internet Service Manager), и если ваш сервер использует файловую систему NTFS, добавьте право на выполнение для пользователя I_USR_ на каталог, который содержит php.exe.

Для использования ISAPI модуля, проделайте следующее:

Если вы не хотите производить HTTP аутентификацию, используя PHP, вы можете (и должны) пропустить этот шаг. В ISAPI Filters, добавьте новый ISAPI фильтр. Используйте PHP, как имя фильтра, и укажите путь к php4isapi.dll.

В 'Home Directory', щёлкните по кнопке 'Configuration'. Добавьте новую запись в Application Mappings. Используйте путь к php4isapi.dll как 'Executable', укажите .php в качестве расширения, оставьте поле Method exclusions пустым, и проверьте флажок Script engine.

Полностью остановите IIS (NET STOP iisadmin)

Снова запустите IIS (NET START w3svc)

Проблемы?

Прочитайте FAQ

Некоторые проблемы более общие, чем другие. Наиболее общие перечисляются в PHP FAQ, части PHP Manual.

Другие проблемы

Если вы всё ещё застряли, кто-нибудь в PHP installation mailing list может быть способен помочь вам. Вы должны вначале проверить архив, может быть, кто-нибудь уже ответил человеку, который имел такие же, как и у вас проблемы. Архив доступен на странице поддержки по адресу http://www.php.net. Для того, что бы подписаться на PHP installation mailing list, пошлите пустое письмо по адресу php-install-subscribe@lists.php.net. Адрес почтовой рассылки php-install@lists.php.net.

Если вы хотите получить помощь из списка рассылки, пожалуйста, попробуйте быть пунктуальным и давайте все необходимые сведения о вашей среде (тип операционной системы, версию PHP, тип веб-сервера, используете ли вы PHP как CGI приложение, или как серверный модуль, и.т.д.), и желательно предоставить достаточное количество кода, что бы другие могли воспроизвести и протестировать вашу проблему.

Сообщения об ошибках

Если вы считаете, что нашли в PHP баг, пожалуйста, сообщите об этом. Разработчики PHP очевидно не знают об этом, и, если вы их об этом не известите, ошибка, скорее всего, не будет исправлена. Вы можете сообщить о баге, используя bug-tracking систему на http://bugs.php.net. Пожалуйста, не посылайте сообщения об ошибках в список рассылки или персональным письмом. Система извещения о багах так же может быть использована для предложений по улучшению PHP.

Прочитайте документ How to report a bug до того, как вы что-нибудь отправите!


Copyright ByWeb©
Hosted by uCoz