Приднестровская поддержка XOOPS
Найти дистрибутив интерпретатора PHP можно по адресу http://windows.php.net/download/. В списке выбираем php-5.3.10-Win32-VC9-x86.zip. Размер дистрибутива— 15.07 Мбайт. (На момент написания. Возможно сейчас есть более новая версия)
Создаем папку C:/php5 и копируем в нее скачанные файлы. В итоге файлы интерпретатора должны оказаться в пайке C:\php5. С помощью Notepad++ открываем файл php.ini-development (C:\php5\php.ini-development) и сохраняем как php.ini. Не спешите закрывать файл, так как в нем необходимо сделать изменения. Для этого находим строку
; extension_dir = "ext"
и заменяем ее на
extension_dir = "C:/php5/ext"
Если этого не сделать, то библиотеки нужно скопировать из C:\php5\ext в C:\WINDOWS\system32. Не будем засорять систему и оставим их там, где они уже есть. Вместо этого просто пропишем к ним путь.
Далее необходимо подключить некоторые библиотеки. Находим строчки
; extension=php_mysql.dll
; extension=php_mysqli.dll
и убираем точку с запятой перед ними:
extension=php_mysql.dll
extension=php_mysqli.dll
Таким образом мы включили поддержку баз данных MySQL. Кроме этой библиотеки нам понадобится возможность работы с графикой через РНР. Это достигается подключением библиотеки php_gd2.dll. Заменяем строку
;extension=php_gd2.dll
на
extension=php_gd2.dll
Еще одна библиотека, которая может пригодиться, позволяет соединяться и работать с серверами. Находим строку
;extension=php_curl.dll
и убираем точку с занятой:
extension=php_curl.dll
А следующая библиотека содержит функции для работы с многобайтными кодировками. Меняем строку
;extension=php_mbstring.dll
на
extension=php_mbstring.dll
Выключаем поддержку глобальных переменных:
register_globals = Off
Выключаем поддержку длинных имен суперглобальных массивов ($HTTP_*_VARS):
register_long_arrays = Off
Указываем кодировку по умолчанию. Для этого находим строку
;default_charset = "iso-8859-1"
и меняем ее на
default_charset = "windows-1251"
Находим строку
;include_path = ".;c:\php\includes"
и меняем ее на
include_path = ".;C:\php5\includes"
Предварительно создадим папку includes в C:\php5. Здесь будут храниться подключаемые файлы.
Находим строку
;session.save_path = "/tmp"
и меняем ее на
session.save_path = "c:/php5/tmp"
Предварительно создадим пайку tmp в C:\php5. Здесь будут храниться временные файлы сессий.
Заменяем строку
session.use_trans_sid = 0
на
session.use_trans_sid = 1
Это позволит без затруднений работать с сессиями РНР.
Отключаем автоматическое добавление защитной обратной косой черты:
magic_quotes_gpc = Off
Проверяем значения директив magic_quotes_runtime и magic_quotes_sybase, они должны быть равны Off:
magic_quotes_runtime = Off
magic_quotes_sybase = Off
Чтобы использовать упрощенный стиль тегов включения кода РНР, заменяем строку
asp_tags = Off
на
asp_tags = On
Проверяем значение директив
short_open_tag = On
display_errors = On
Находим строку
upload_max_filesize = 2M
и увеличиваем максимально допустимый размер загружаемых файлов до 16 Мбайт:
upload_max_filesize = 16M
Находим строку
;upload_tmp_dir =
и заменяем ее на
upload_tmp_dir = "C:/php5/tmp"
Заменяем строку
;date.timezone =
на
date.timezone = "Europe/Moscow" (3)
Включаем вывод всех сообщений об ошибках:
error_reporting = E_ALL | E_STRICT
Сохраняем и закрываем файл php.ini.
Теперь необходимо добавить поддержку РНР в файл конфигурации сервера Apache. Открываем файл httpd.conf и находим строки
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
и вместо них вставляем следующие строки:
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm index.shtml index.html.var
</IfModule>
PHPIniDir C:/php5
LoadModule php5_module C:/php5/php5apache2_2.dll
AddType application/x-httpd-php .php
Сохраняем и закрываем файл httpd.conf.
Далее необходимо добавить каталог с установленным интерпретатором РНР в переменную PATH операционной системы. Для этого в меню Пуск выбираем пункт Панель управления (или Настройка | Панель управления). В открывшемся окне выбираем пункт Система. Переходим на вкладку Дополнительно (рис. 1) и нажимаем кнопку Переменные среды.
Рис. 1. Вкладка Дополнительно окна Свойства системы
В разделе Системные переменные (рис. 2) делаем двойной щелчок на строке Path (или выделяем строку и нажимаем Изменить).
Рис. 2 Окно Переменные среды
В начало к имеющемуся значению переменной path добавляем путь к каталогу, куда мы установили РНР (C:\php5) через точку с запятой (рис. 3):
C:\php5;
Рис. 3 Окно Изменение системной переменной
Когда компьютер перезагрузится, открываем Notepad++ и набираем следующий код:
<?php
phpinfo();
?>
Сохраняем файл под именем index.php в C:\Apache2\htdocs. Открываем Web-браузер и в адресной строке набираем
http://localhost/
Рис. 4 Результат выполнения функции phpinfo ()
Если в окне Web-браузера отобразилась страничка с информацией об интерпретаторе РНР (рис. 4), то это уже хорошо. Тем не менее это не гарантирует правильность настроек, так как РНР может работать и без конфигурациoнногo файла php.ini. Чтобы проверить основные настройки следует запустить код из листинга 1.
Листинг 1. Проверка корректности установки PHP 5.3
<?php
$err = array();
if (!file_exists('C:\\php5\\php.ini'))
$err[] = 'Файл C:\\php5\\php.ini не существует';
$path = php_ini_loaded_file();
if (strtolower($path) !== 'c:\\php5\\php.ini')
$err[] = 'Пути к файлу php.ini не совпадают';
if (!file_exists('C:\\php5\\ext\\'))
$err[] = 'Папка C:\\php5\\ext\\ не существует';
$ext = ini_get("extension_dir");
if (strtolower($ext) !== 'c:/php5/ext')
$err[] = 'Проверьте значение директивы extension_dir';
$inc = ini_get('include_path');
if (strtolower($inc) !== '.;c:\\php5\\includes')
$err[] = 'Проверьте значение директивы include_path';
$ses = ini_get('session.save_path');
if (strtolower($ses) !== 'c:/php5/tmp')
$err[] = 'Проверьте значение директивы session.save_path';
if (!file_exists('C:\\php5\\tmp\\'))
$err[] = 'Папка C:\\php5\\tmp\\ не существует';
if (!file_exists('C:\\php5\\includes\\'))
$err[] = 'Папка C:\\php5\\includes\\ не существует';
$upl = ini_get('upload_tmp_dir');
if (strtolower($upl) !== 'c:/php5/tmp')
$err[] = 'Проверьте значение директивы upload_tmp_dir';
if (get_magic_quotes_gpc())
$err[] = 'Проверьте значение директивы magic_quotes_gpc';
if (ini_get('register_globals'))
$err[] = 'Проверьте значение директивы register_globals';
if (!extension_loaded('gd'))
$err[] = 'Библиотека GD не подключена';
if (!extension_loaded('mbstring'))
$err[] = 'Библиотека mbstring не подключена';
if (!extension_loaded('mysql'))
$err[] = 'Библиотека mysql не подключена';
if (!extension_loaded('mysqli'))
$err[] = 'Библиотека mysqli не подключена';
$path = strtolower($_SERVER['PATH']);
if (strpos($path, 'c:\php5') === false)
$err[] = 'Не прописан путь к папке c:\php5 в Path';
if (count($err) == 0) echo 'Ошибок нет';
else {
echo '<div style="color:red;">';
echo implode('<br>', $err) . '</div>';
}
?>
Если после выполнения кода было выведено сообщение
значит, все установлено нормально. Установка и настройка интерпретатора РНР завершена.
Отправитель | Нити |
---|
5 пользователь(ей) активно (4 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 5 далее... |