Смекни!
smekni.com

Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows (стр. 6 из 9)

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 по умолчанию) приводит к ошибкам при поиске и неправильной сортировке результатов запросов.