50468 (Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows), страница 5
Описание файла
Документ из архива "Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50468"
Текст 5 страницы из документа "50468"
track_errors = On
Сделанные изменения позволят сохранять последнее сообщение об ошибке или замечании в переменной $php_errormsg.
3. Режим register_globals.
Внимание
Начиная с PHP 4.2.0, значение директивы register_globals по умолчанию установлено в off(отключено, раньше было on- включено). Положение register_globalsв off делает предопределенные переменные доступными в глобальной области видимости.
Например, чтобы получить:
● DOCUMENT_ROOT, необходимо использовать $_SERVER['DOCUMENT_ROOT']вместо $DOCUMENT_ROOT;
● $_GET['id']из URL http://www.example.com/test.php?id=3 вместо $id;
● $_ENV['HOME']вместо $HOME.
При работе с полями формы, например, следует каждый раз писать:
$_REQUEST[' … ']
Это делать необходимо из-за того, что все данные из полей формы PHPпомещает в глобальный массив $_REQUEST.
Рекомендуется писать скрипты с расчетом на выключенный register_globals=off.
Сценарий, корректно работающий при выключенном register_globals, будет работать и при включенном режиме. Но не наоборот.
Установите строку: register_globals = Off
4. Магические автокавычки. Чтобы код проекта работал в соответствии с описанием, необходимо бывает включить режим magic quotes. Если это не выполнено, к вводимым данным в базу данных MySQLпотребуется применить функцию addslashes(), а к извлекаемым данным — функцию stripslashes().
Включить (магические кавычки) директивы magic_quotes_gpcи magic_quotes_runtimeможно в файле php.ini. Они автоматически добавляют или убирают управляющие символы обратной косой черты, причем magic_quotes_gpcвыполняет это для входных переменных методов GET, POSTи cookie-наборов, a magic_quotes_runtime— для данных, входящих или исходящих из базы данных.
Примечание:директива конфигурации magic_quotes_gpcдействует на значения Get, Postи Cookie. Если она включена, значение (It's "PHP!") автоматически становится (It\'s \"PHP!\"). Мнемонизирование необходимо для вставки в БД.
Если magic_quotes_sybaseтакже включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash, если magic_quotes_gpcили magic_quotes_runtimeвключена.
Когда magic_quotesвключены, все ' (одинарные кавычки), " (двойные кавычки), \ (обратные слэши) и NUL мнемонизируются обратными слэшами автоматически. Если magic_quotes_sybaseтакже включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash.
5. Конфигурирование расширений.PHPпоставляется в виде ядра и набора из нескольких десятков «внешних расширений» (DLL-библиотек), которые можно подключать и отключать. Этим процессом можно управлять при помощи следующих директив. Сначала указываем папку, в которой хранятся загружаемые модули: extension_dir = "/usr/php/extensions/"
ЭТА ДИРЕКТИВА – ОДНА ИЗ САМЫХ ВАЖНЫХ. БЕЗ НЕЕ РАСШИРЕНИЯ ПРОСТО НЕ ПОДКЛЮЧАЮТСЯ
Теперь подключим те расширения, которые понадобятся для работы. Для этого нужно найти место, где впервые упоминается директива extension. Надо добавить (или снять комментарии) непосредственно перед ней следующие команды:
extension=php_xsl.dll
extension=php_gd2.dll
extension=php_mysql.dll
Все остальные расширения пока не потребуются. Необходимые библиотеки лучше подключать по мере необходимости (некоторые из них требуют дополнительных настроек).
При компиляции и сборке PHPимеется возможность для каждой библиотеки расширения указать, как именно с ней поступать: собирать ли в виде отдельного DLL-модуля или же помешать код в ядро (php5td.dll). Поэтому многие популярные расширения уже включены в ядро PHPи не требуют дополнительной директивы extension.Такими модулями являются: dom, iconv, libxml, sqlite и т. д. Это определяется экспериментально. Если какой-то модуль не заработает, возможно, разработчики дистрибутива его вынесли из ядра в отдельный DLL-файл и его следует подключить. Или наоборот, его внесли в ядро, и директиву extensionнужно убрать.
После подключения новых модулей обязательно нужно проверить, что сервер Apacheзапускается, а тестовая страница PHP– открывается. И уже после этого открывайте php.iniи добавляйте необходимые модули.
Появились сообщения:
Поэтому провели изменения:
При помощи модуля: extension=php_gd2.dll
осуществляется работа с графической библиотекой GDLib.
Найдите директиву include_path, задающую путь к библиотекам PHP.
;include_path = ".;c:\php\includes"
Снимите с нее знак комментария (точка с запятой) и укажите следующее значение: include_path = ".; \usr\php\PEAR "
PEAR– это набор разнообразных библиотек, написанных на PHP. Некоторые из этих библиотек входят в дистрибутив PHP:
6. Каталог для временных файлов.Найдите директиву:
; upload_tmp_dir = C:\PHP\uploadtemp ; temporary directory for HTTP uploaded files (will use system default if not specified)
Отредактируйте ее: upload_tmp_dir = /tmp
Если значение директивы оставить пустой, то будет использован системный каталог для хранения временных файлов.
7. Сохраните все изменения, сделанные в файле php.ini.
8. После этого скопируйте файл php4ts.dllиз папки D:\usr\php:
в каталог C:\Windows\System32:
Этим мы скопировали библиотеки в каталог, который уже присутствует в путях поиска (C:\Windows\System32):
При установке новой версии PHP или после переустановки системы не забывайте повторно скопировать библиотеки.
9. Найдите директиву session. Ее значение должно быть: session.save_path =/tmp
Это путь к временной папке, в которой PHPбудет хранить файлы сессий (session files). Поскольку этого каталога пока нет, рекомендуется его создать: D:\tmp, а в проводнике установить для него атрибут Скрытый(Hidden), чтобы случайно не удалить:
10. Откройте файл httpd.conf и раскомметируйте три строки, в которых настроен PHPв виде CGIпрограммы:
AddType application/x-httpd-php phtml php3 php
ScriptAlias /__php_dir__/ "/usr/php/"
Action application/x-httpd-php"/__php_dir__/php.exe"
Директива AddTypeсвязывает расширение файла (PHP) с уникальным идентификатором MIME-типа. Далее указывается программа, которую нужно запустить, когда пользователь попытается открыть файл указанного типа. Так как в директиве Actionдопустимо использовать только URL(но не абсолютные пути), то предварительно назначаем абсолютному пути до PHP-каталога с URL/php/.
11. Сохраните изменения в файле httpd.conf. Перезапустите сервер. Перезагрузка должна выполниться, если не было допущено ошибок.
2.6. Настройка MySQL
Зайдите в папку D:\usr\mysql\bin\:
и запустите файл winmysqladmin.exe:
Должно появиться такое окно:
Введите имя (admin) пользователя и пароль (password):
Нажмите ОК. На панели в нижнем правом углу монитора появился значок светофора. Нажмите на светофор на панели правой клавишей мышки:
Выберете Show me. Появится окно:
Закройте окно, удалите файл my.iniв папке C:\WINDOWS:
Запустите winmysqladmin.exe:
В открывшемся WinMySQLadmin, введите имя (admin) и пароль (password):
Нажмите ОК. Нажмите правой клавишей мыши по значку светофора на панели монитора, выберите Show me, откроется окно:
В открывшемся окне перейдите на закладку my.ini Setup:
Нажмите кнопку «Create ShortCut on Start Menu» , а затем нажмите ОК:
Можно перейти к настройке файла my.ini.
Файл my.iniсостоит из нескольких секций, нас интересует только секция mysqid. Можно удалить все остальные секции из файла, все равно их игнорирует сервер.
Для изменения значений директив, расположенных в my.ini, снимают знак комментария с соответствующей строки. Многие из этих директив уже записаны в файле, и остается лишь их подкорректировать. Другие же команды там даже и не упоминаются — для них нужно вручную вписать нужные строки.
Итак, выполняют следующие действия:
1. Укажите IP-адрес, на котором MySQLбудет ожидать подключения:
bind-address=127.0.0.1
Рекомендуется использовать только 127.0.0.1, чтобы сервер был доступен лишь с текущей машины (но не из локальной сети). Это позволит обезопасить себя от хакерских атак.
2. Укажите каталог, который MySQLбудет использовать для хранения временных файлов (конечно, он должен существовать):
tmpdir=/tmp
3. Укажите путь к каталогу, хранящему файлы различных кодировок:
character-sets-dir=/usr/mysql/share/charsets
4. Укажите кодировку по умолчанию, используемую при создании всех таблиц:
default-character-set=cpl251
Этот параметр очень важен: неверное его значение (в частности, значение, используемое MySQL по умолчанию) приводит к ошибкам при поиске и неправильной сортировке результатов запросов.
5. Укажите основной каталог MySQL, а также папку, где сервер будет хранить свои данные:
basedir=/usr/localhost/mysql/
datadir=/usr/localhost/mysql/data/
6. Раскомметируйте и измените строку, которая устанавливает язык:
language=D:/usr/mysql/share/russian
Остальные параметры затрагивают работу с таблицами типа InnoDB, поддерживающими высокую надежность хранения данных и защищенных от аппаратных сбоев. Работа с такими таблицами не рассматривается, поэтому можно пропустить директивы, касающиеся InnoDB.
Вполне вероятно, что сервер запустится и без настройки всех многочисленных параметров — просто на "значениях по умолчанию". Однако в этом случае он будет работать неправильно.
Отредактированный my.ini:
#This File was made using the WinMySQLAdmin 1.4 Tool
#03.10.2005 18:21:07
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=D:/usr/mysql
bind-address=127.0.0.1
datadir=D:/usr/mysql/data
language=D:/usr/mysql/share/russian
#slow query log#=
tmpdir=/tmp
#port=3306