Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Котеров Д. В., Костарев А. Ф. - PHP 5. 2-е издание (В подлиннике) - 2008

.pdf
Скачиваний:
6286
Добавлен:
29.02.2016
Размер:
11.36 Mб
Скачать

104

Часть II. Выбор и настройка инструментария

"Бесконсольная" версия

В PHP версии 5 наконец-то появилась версия исполняемого файла, не создающая при запуске консольного окна. Она называется php-win.exe и работает точно так же, как php.exe, однако делает это "бесшумно". Давайте попробуем запустить следующую команду (не забудьте точку с запятой!):

php-win.exe –r "sleep(100);"

Вы увидите, что управление сразу же передалось обратно в командную строку, как будто бы ничего не произошло. Нажмите комбинацию клавиш <Ctrl>+<Alt>+ +<Del>, чтобы посмотреть список выполняющихся в данный момент процессов. Вы увидите, что программа php-win.exe все еще находится в памяти и работает.

Что произошло? Строка sleep(100) в действительности является программой на PHP, которая заставляет интерпретатор "заснуть" на 100 секунд, оставаясь при этом в памяти. Тем не менее запуск php-win.exe всегда происходит в фоновом режиме, и никакое новое окно не открывается. Поэтому PHP остается работать, входит в функцию sleep() и 100 секунд в ней "крутится".

"Бесконсольную" версию PHP удобно использовать для написания различных системных утилит, не требующих вмешательства пользователя при своей работе. Например, можно написать программу, периодически очищающую каталог временных файлов или архивирующую данные. В этом отношении PHP стал ничем не хуже Perl, применяемого для подобных целей уже почти десятилетие.

Динамическая библиотека Apache

В дистрибутиве содержится файл php5apache.dll, представляющий собой загружаемый модуль для сервера Apache версий 1.3.x. Чуть позже мы рассмотрим, как с ним работать.

Файл конфигурации php.ini-dist

Данный файл следует скопировать в php.ini и расположить в том же каталоге, что и EXE-файлы PHP (и модуль Apache). В этом случае PHP при запуске будет считывать из него свою конфигурацию. Далее мы подробно рассмотрим процесс конфигурирования PHP и некоторые директивы, которые вам необходимо настроить для начала работы.

Библиотеки расширения

PHP поддерживает множество дополнительных библиотек, обеспечивающих работу с различными базами данных, доступ по протоколам FTP и HTTP к внешним серверам, работу с XSLT, архиваторами gzip и bz2 и т. д. Чтобы не перегружать ядро интерпретатора, все такие библиотеки оформлены в виде отдельных dll-модулей, подгружаемых во время работы при указании в php.ini соответствующей директивы extension. Библиотеки располагаются в подкаталоге ext дистрибутива.

Обратите внимание, что, начиная с версии PHP 5.0.0 beta 4, структура дистрибутива PHP сильно изменилась. Теперь библиотеки расширения располагаются в подкаталоге ext, а не extensons, как было ранее. Кроме того, полностью упразднена папка dlls, содержащая

Глава 5. Установка PHP и MySQL

105

дополнительные DLL-библиотеки, необходимые PHP. Теперь все такие библиотеки располагаются в том же каталоге, что и EXE-файлы, и это сильно облегчает их поиск в момент запуска. Новая структура дистрибутива позволяет сразу же после распаковки запускать EXE-файлы PHP, не заботясь о добавлении пути поиска библиотек в переменную окружения PATH.

Заметьте, что вам, скорее всего, не понадобится подключать все дополнительные библиотеки. Достаточно ограничиться лишь теми из них, которые действительно необходимы.

Другие файлы

Для корректной работы PHP нуждается во множестве дополнительных файлов и библиотек. Все они находятся в дистрибутиве и не требуют специальной инсталляции.

DLL-библиотеки поддержки: ранее располагались в подкаталоге dlls, а сейчас перекочевали в основную папку дистрибутива, поближе к EXE-файлам. Данные библиотеки используются различными расширениями PHP. Например, libmysql.dll используется модулем расширения ext/php_mysql.dll (последний просто не удастся подключить без наличия первого).

DLL-модули для различных серверов: Apache 1.3, Apache 2, Microsoft IIS и т. д. Они позволяют запускать PHP в виде модуля сервера, а не в виде внешней CGIпрограммы. Для нас интерес представляет, конечно, только php5apache.dll.

Каталог PEAR и программа go-pear.bat, предназначенная для начальной инициализации библиотек PEAR (PHP Extension and Application Repository, репозиторий расширений и приложений на PHP).

Файл php5ts.dll — это и есть сам PHP, так сказать, "во плоти". Он оформлен в виде DLL-библиотеки, т. к. содержит львиную долю кода интерпретатора и используется тремя EXE-файлами, а также всеми модулями для различных серверов. У него и размер соответствующий — почти 4 Мбайт.

Конфигурирование PHP

Приступим к настройке параметров PHP.

Прежде чем проверять PHP на работающем Apache, всегда пробуйте запустить php.exe вручную. Если сообщения об ошибках не выдаются, значит, все сконфигурировано правильно. В противном случае следует исправить ошибку и повторить все сначала. Учтите, что запуск PHP через Apache может скрыть многие ошибки: он просто не будет работать, а выяснить, из-за чего именно, окажется весьма сложным.

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

1.Для начала определимся с каталогом, в который будем устанавливать PHP. Папка z:/usr/local/php5 — достаточно хороший выбор ("поближе" к Apache).

2.Разархивируйте скачанный дистрибутив в этот каталог (так, чтобы файл phpcgi.exe имел полный путь z:/usr/local/php5/php-cgi.exe).

106

Часть II. Выбор и настройка инструментария

3.Переименуйте файл php.ini-dist в php.ini. Это основной конфигурационный файл PHP. Вам предстоит внести в него несколько изменений.

4.Найдите директиву error_reporting: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Теперь измените ее значение так (снимите знак комментария, если нужно): error_reporting = E_ALL

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

Настоятельно рекомендуем придерживаться максимально подробного режима контроля ошибок. Для программ, которые на этот режим не рассчитаны, всегда можно его отключить персонально. Хотя поначалу постоянно выводящиеся при отладке предупреждения могут раздражать, со временем понимаешь, насколько же это мощный инструмент, и как сильно он экономит время.

5.Найдите директиву include_path, задающую путь к библиотекам PHP. Снимите с нее знак комментария (точка с запятой) и укажите следующее значение:

include_path = ".;/usr/local/php5/PEAR"

PEAR — это набор разнообразных библиотек, написанных на PHP версий 4 и 5. Некоторые из этих библиотек входят в дистрибутив PHP.

Обратите внимание, что в php.ini мы нигде не упоминаем диск Z:. Так как весь инструментарий установлен у нас именно на этом диске, его имя можно везде опускать — даже

внастройках Apache.

6.Укажите при помощи директивы SMTP адрес SMTP-сервера вашего провайдера.

ВPHP есть функция mail() для отправки почты прямо из скриптов. В своей работе она использует значение именно этой директивы.

7.Найдите директиву session.save_path. Ее значение должно быть равно "/tmp" — это путь к временной папке, в которой PHP будет хранить файлы сессий (session files). Поскольку этого каталога у нас пока нет, рекомендуется его создать: Z:\tmp, а также в Проводнике установить для него атрибут Hidden (Скрытый), чтобы случайно не удалить.

Конфигурирование расширений

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

1.Найдите и исправьте директиву extension_dir, чтобы она выглядела так: extension_dir = /usr/local/php5/ext

Глава 5. Установка PHP и MySQL

107

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эта директива — одна из самых важных. Без нее расширения просто не подключатся.

2.Теперь подключим те расширения, которые нам понадобятся для работы. Для этого найдите в php.ini место, где впервые упоминается директива extension. Добавьте непосредственно перед ней следующие команды (или снимите с них комментарий, если они уже есть в файле):

extension=php_xsl.dll ; XSLT-процессор

extension=php_gd2.dll ; работа с изображениями

extension=php_mysql.dll ; работа с MySQL

Все остальные расширения нам пока не потребуются.

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

При компиляции и сборке PHP имеется возможность для каждой библиотеки расширения указать, как именно с ней поступать: собирать ли в виде отдельного DLLмодуля или же помещать код в ядро (php5ts.dll). Поэтому многие полезные популярные расширения уже включены в PHP и не требуют дополнительной директивы extension в php.ini. На данный момент такими модулями являются: dom, iconv, libxml, sqlite и т. д. Если вдруг один из них у вас не заработает, проверьте: возможно, разработчики вынесли его из ядра в отдельный DLL-файл, и его следует подключить (или, наоборот, его внесли в ядро, и директиву extension нужно убрать). По крайней мере, при написании данной книги такие "миграции" происходили неоднократно.

После всех экспериментов с подключением новых модулей не забывайте проверять, запускается ли PHP без ошибок. Для этого выполните файл php.exe. Если перед вами возникает пустая консоль без сообщений об ошибках, значит, все в порядке. Нажмите комбинацию клавиш <Ctrl>+<C>.

Рекомендуем вначале вообще не подключать никаких расширений, а проверить, что сервер запускается, а тестовая страница PHP, которую мы вскоре создадим, — открывается. И уж только после этого открывайте php.ini и добавляйте необходимые модули. Несоблюдение данной рекомендации грозит вам потерей нескольких часов времени в случае возникновения ошибки. Всегда старайтесь идти от простого к сложному, проверяя результат на каждом шагу.

Настройка Apache для работы с PHP

С точки зрения Apache, PHP существует в двух "разновидностях": в виде модуля сервера или в виде "внешней CGI-программы". Мы рассмотрим оба варианта установки.

108

Часть II. Выбор и настройка инструментария

Установка PHP в виде CGI-программы

Проще всего установить PHP в виде внешней CGI-программы, которая будет запускаться при каждом запросе к PHP-скриптам. Имя этой программы — php-cgi.exe.

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

Итак, директивы, которые необходимо добавить в httpd.conf, мы запишем в файле php5_cgi.conf (листинг 5.1).

Листинг 5.1. Файл /usr/local/apache/conf/php5_cgi.conf

## Подключение PHP 5 в виде CGI. AddType application/x-httpd-php5 php ScriptAlias /_php5/ "/usr/local/php5/"

Action application/x-httpd-php5 "/_php5/php-cgi.exe"

Директива AddType связывает расширение файла (PHP) с уникальным идентификатором MIME-типа. Далее мы указываем программу, которую нужно запускать, когда пользователь пытается открыть файл указанного типа. Так как в директиве Action допустимо использовать только URL (но не абсолютные пути), предварительно мы назначаем абсолютному пути до PHP-каталога URL /_php5/ (такой, который вряд ли где-нибудь еще встретится).

Далее нужно подключить файл с этими тремя директивами к httpd.conf. Для этого добавьте в последний строчку:

Include conf/php5_cgi.conf

Не забудьте остановить Apache, а затем вновь запустите его, чтобы изменения вступили в силу.

Установка PHP в виде модуля сервера

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

К сожалению, за все нужно платить: установка PHP в виде модуля может оказаться задачей, значительно более сложной, чем конфигурирование CGI-версии.

Директиву подключения PHP 5 в виде модуля запишем в отдельный файл, содержимое которого приведено в листинге 5.2.

Глава 5. Установка PHP и MySQL

109

Листинг 5.2. Файл /usr/local/apache/conf/php5_mod.conf

## Подключение PHP 5 в виде модуля Apache.

# Указание z: в начале пути ОБЯЗАТЕЛЬНО для Windows 9x! LoadModule php5_module "z:/usr/local/php5/php5apache.dll" AddHandler application/x-httpd-php php

Теперь подключим этот файл к Apache. Для этого добавим в httpd.conf строку:

Include conf/php5_mod.conf

Конечно, после всех изменений необходимо перезапустить Apache.

Пути поиска конфигурационного файла php.ini

Но подождите! Если вы сделаете все так, как описано выше, то выясните, что сервер не обнаруживает ваш файл php.ini, а использует стандартные настройки по умолчанию. К сожалению, он не догадывается искать его в том же каталоге, что и php5apache.dll. А значит, необходимо указать местоположение файла явно.

Нам придется внести изменения в написанную ранее программу /etc/Run.bat. А именно, достаточно вставить в начало каждого из этих файлов команду:

set PHPRC=\usr\local\php5

Она добавит переменную окружения PHPRC, содержащую путь до каталога PHP — как раз там и расположен наш php.ini. Интерпретатор PHP проверяет ее значение при запуске и, таким образом, сможет обнаружить свой конфигурационный файл.

Пути поиска библиотек

Но и это еще не все. Если вы сейчас сохраните изменения в php.ini и попробуете запустить сервер (при условии, что подключена библиотека расширения php_mysql.dll), то, вероятно, получите несколько сообщений Windows, например, "Не найдена библиотека libmysql.dll". Это происходит из-за того, что расширения (в данном примере php_mysql.dll) сами могут требовать подключения некоторых DLL-модулей (libmysql.dll). То есть, библиотеки должны располагаться в месте, где их могут найти библиотеки расширений. Все такие "места" задаются в Windows при помощи переменной окружения PATH, которая по умолчанию содержит только системные пути вроде C:\WINDOWS и C:\WINDOWS\SYSTEM32. Можете посмотреть, что в настоящий момент хранится у вас в PATH, набрав в командной строке:

C:\>path

Вы увидите, что пути разделяются в строке при помощи точки с запятой.

Все DLL-файлы, которые могут потребоваться расширениям, уже входят в дистрибутив и располагаются в том же каталоге, что и EXE-файлы PHP. Следовательно, чтобы PHP заработал, необходимо добавить полный путь к этому каталогу в пути поиска PATH. Для этого добавим в Run.bat строку:

set PATH=%PHPRC%;%PATH%

Как видите, мы используем не явное указание пути, а ранее установленное значение переменной PHPRC — ведь php.ini располагается в том же каталоге, что и необходимые библиотеки.

110

 

 

 

 

Часть II. Выбор и настройка инструментария

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В PHP 4 и ранних версиях PHP 5 все сопутствующие DLL-файлы располагались в подкаталоге dlls, а не в той же папке, что php.exe и php5ts.dll. Следовательно, в пути поиска нужно добавлять именно каталог dlls.

Теперь уже запускать сервер напрямую (apache.exe) нельзя: в этом случае не будут установлены необходимые переменные окружения. Отныне легальный старт Apache только через Run.bat.

Конечно, можно пойти и другим путем: не менять пути поиска библиотек, а скопировать сами библиотеки в каталог, который уже присутствует в путях поиска — например, в C:\WINDOWS\SYSTEM32. Кому-то такое решение может показаться хорошим, однако, мы не считаем, что "замусоривание" системной папки — лучший выход. Кроме того, представьте, что будет, если вы решите установить новую версию PHP, а библиотеки повторно скопировать забудете. PHP станет использовать старые модули и... Однажды один из авторов этой книги промучился несколько часов, пока сообразил, что странное зависание PHP, изредка возникающее, имеет причиной именно старую версию библиотеки в системном каталоге.

Вид итогового файла Run.bat приведен в листинге 5.3.

Листинг 5.3. Файл /etc/Run.bat

@echo off

:: Программа для запуска всех серверов: Apache и MySQL.

call Boot.bat

Z:

:Установка пути поиска php.ini. set PHPRC=\usr\local\php5

set PATH=%PHPRC%;%PATH%

:Запуск Apache.

cd \usr\local\apache

start apache.exe

: Добавьте сюда команды для запуска других серверов

Теперь уже запускать Apache нужно только при помощи файла /etc/Run.bat. Чтобы не путаться, рекомендуем вообще удалить все ярлыки запуска и остановки Apache из меню

Пуск.

Возможные ошибки и совместимость

К сожалению, при установке в виде модуля Apache PHP работает не так стабильно, как при установке в режиме CGI.

Одна из ошибок, с которой столкнулись авторы этой книги, — неправильная работа Apache с виртуальным диском Z:. А именно, иногда самопроизвольно текущий каталог на диске Z: вдруг "сам собой" сменяется на C:\WebServers. В результате пути вроде /usr/local/apache перестают работать — ведь они теперь отсчитываются от кор-

Глава 5. Установка PHP и MySQL

111

ня диска C:, а не Z:. Впрочем, если вы сделали все в точности так, как описано выше, данная ошибка должна обойти вас стороной. Кроме того, она не проявляется в Windows NT/2000/XP или Windows Server 2003 и старше.

Хочется надеяться, что в новых версиях PHP 5 уже не будет необходимости в установке переменных окружения перед запуском сервера. В самом деле, ведь CGIверсия PHP 5 (но не PHP 4!) прекрасно работает и без них.

К сожалению, при установке PHP в виде модуля Apache можно столкнуться с большой проблемой. Дело в том, что идентификатор обработчика PHP 5 равен application/x-httpd-php, что совпадает с идентификатором PHP 4. Поэтому одновременное использование PHP 5 и PHP 4 в виде модулей Apache невозможно. Помимо этой, существуют и другие несовместимости.

Разработчики PHP сообщили авторам книги, что в ближайшее время поддержка совместной работы PHP 4 и PHP 5 в виде модуля не планируется. Но мы все равно надеемся, что в будущем ситуация изменится к лучшему.

К счастью, PHP можно установить в виде внешней CGI-программы, что решает проблему. Этот способ был нами описан выше.

Тестирование PHP

Убедимся, что PHP-сценарии работают. Для этого создадим в каталоге z:/home /localhost/www файл test.php с содержанием, представленным в листинге 5.4.

Листинг 5.4. Файл /home/localhost/www/test.php

<?php ## Скрипт для проверки работоспособности PHP.

echo "It works!<br>\n";

phpinfo();

?>

Теперь наберите в браузере: http://localhost/test.php. Должна отобразиться страница с разнообразной информацией о PHP, которая генерируется функцией phpinfo().

Напоминаем, что PHP-сценарии — не то же самое, что CGI-сценарии. В частности, если CGI-сценарий обычно располагают в /cgi-bin/ или /cgi/, то PHP-сценарий должен находиться в каталоге с документами.

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

Напоминаем еще раз, что просто остановить Apache, так сказать, принудительным образом, не рекомендуется — необходимо воспользоваться программой /etc/Stop.bat. В противном случае при использовании некоторых версий сервера закроется только окно Apache, а сам сервер останется работать.

112

Часть II. Выбор и настройка инструментария

Проверка конфигурации

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

Configuration File (php.ini) Path;

extension_dir;

include_path.

Если там записаны не те значения, которые мы настраивали выше, значит, PHP не смог найти php.ini. Проверьте правильность установки переменной окружения PHPRC (если PHP работает в виде модуля сервера) или наличие php.ini в том же каталоге, что и php-cgi.exe (в случае использования CGI-версии).

Установка MySQL

Сначала определимся: зачем же вообще нужны базы данных Web-программисту? Неужели не проще использовать традиционный обмен с файлами? Ведь обычно объем данных не очень велик (если вы только не пишите поисковую систему). Наш личный опыт таков: оказывается, стоит затратить какое-то время на изучение MySQL — это весьма мощный инструмент, который сэкономит в будущем немало часов, потраченных на отладку "вышедшего из-под контроля" сценария.

Язык PHP 5 поддерживает работу со множеством СУБД (система управления базами данных), в том числе и с MySQL.

Начиная с пятой версии в PHP встроена поддержка новой библиотеки работы с базами данных (БД). Это так называемая SQLite. Библиотека SQLite использует обычные файлы и не требует наличия внешней СУБД (в отличие от MySQL, которая должна выполняться в отдельном процессе и обслуживать запросы); ее код интегрирован прямо в код PHP. Вероятнее всего, в новых проектах вам будет выгоднее всего использовать именно эту библиотеку, а не MySQL (тем более, что она поддерживает триггеры и транзакции, чего так не хватает в MySQL). Тем не менее множество старых скриптов по-прежнему работают с MySQL, так что ее инсталляция, скорее всего, необходима.

Получение дистрибутива

Загрузите с официального сайта MySQL по адресу http://www.mysql.com/downloads /index.html дистрибутив этой СУБД. Рекомендуем выбрать самую последнюю стабильную версию (не альфа-версию!) для Windows (на данный момент это 4.1). Дистрибутив представляет собой ZIP-архив, который нужно развернуть в любой удобный вам каталог.

Различные версии MySQL достаточно хорошо совместимы между собой. Это означает, что код, предназначенный для MySQL версии 3, скорее всего, будет работать и в четвертой версии СУБД без всяких изменений.

Глава 5. Установка PHP и MySQL

113

Получение документации

В отличие от документации PHP, руководство по MySQL переведено на русский язык почти полностью. Вы можете воспользоваться документацией, посетив адрес http://www.mysql.com/doc/ru/index.html.

Также доступна версия в виде одного архивного файла, который необходимо развернуть в любой удобный каталог. Ее, а также исходную английскую версию руководства и переводы на другие языки, можно найти по адресу http://www.mysql.com/documentation/index.html (русская версия — в середине страницы).

Конфигурирование MySQL

Выполните следующие действия:

1.Запустите setup.exe из только что разархивированного дистрибутива.

2.Нажимайте кнопку Next до тех пор, пока не появится запрос, предлагающий ввести каталог для установки. Укажите путь Z:\usr\local\mysql. Так сервер СУБД будет располагаться "рядом" с Apache и PHP.

3.Выберите режим установки Typical.

Начнется копирование файлов MySQL. Дождитесь его окончания. СУБД будет установлена.

Настройка параметров сервера

СУБД MySQL может считывать множество различных настроечных параметров из файла /usr/local/mysql/my.cnf. Чтобы программа нашла его, необходимо явно указать путь к файлу в командной строке (см. листинг 5.6).

Если в вашей инсталляции файла my.cnf нет, возьмите файл my-small.cnf и скопируйте его под именем my.cnf.

Проверьте, не создался ли в Windows-каталоге или в корне диска C: файл my.ini или my.cnf. Если создался, удалите его оттуда. Дело в том, что MySQL очень "любит замусоривать" системный каталог и иногда читает файлы конфигурации оттуда, вместо того, чтобы использовать ваши собственные настройки. Вряд ли такое поведение можно считать достойным программиста, но тут уж ничего не поделаешь.

Файл my.cnf состоит из нескольких секций, нас интересует только секция mysqld. Вы можете даже удалить все остальные секции из файла, все равно они игнорируются сервером.

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