Verification: a143cc29221c9be0

Mysql и php в денвере

Mysql и php в денвере

Содержание

Системные требования для установки XAMPP

От XAMPP не нужно ждать подводных камней. Здесь всё доработано до мелочей. XAMPP можно установить на локальную машину, с операционными системами: Windows 2008, Vista, Win 7, Win 8. Даже есть вариант для XP SP3.

Что входит в сборку XAMPP

Акроним XAMPP означает, что данную сборку можно установить не только на Windows, но и на любую другую ось. Об этом говорит первая буква [X]. Буквы AMP означают классические Apache+MySQL+PHP, а вот последняя буква [P] означает язык программирования Perl. Именно по этому, XAMPP называют кроссплатформенной сборкой локального веб-сервера.

XAMPP локальный сервер и Bitnami

Разработчики XAMPP пошли дальше других и создали облачный сервер Bitnami. Bitnami для XAMPP значительно упрощает разработку приложений PHP поверх Apache. Используя Bitnami можно легко установить популярные CMS открытым исходным кодом: WordPress, Drupal и Joomla! и т.п.

Где скачать XAMPP

XAMPP локальный сервер не нужно искать на форумах и других ресурсах. Есть официальный сайт с бесплатной загрузкой релиза. Официальный сайт XAMPP: https://www.apachefriends.org/ru/index.html . Скачать .

Скачать XAMPP

На официальном сайте забираем версию для Windows 7. Предварительно необходимо решить, с какой версией PHP вам нужно работать. Есть три варианта PHP: 5.6.30, 7.0.15, 7.1.1. Нижняя версия php периодически меняется. Я выбираю: xampp-win32-5.6.30-0-VC11-installer.

Для информации: На этой же страницы можно скачать XAMPP для Linux и OS X.

Установка XAMPP на Windows 7 по шагам

Как видите по названию релиза, XAMPP скачиваем с инсталлятором, что значительно упрощает его установку.

Для спокойствия проверяем скачанный файл антивирусом. После проверки запускаем установку от имени администратора.

Шаг 1.

Шаг 2.

Шаг 3.

Шаг 4.

Bitnamy пропускаем, поэтому чек бок открываем.

Шаг 5.

Шаг 6.

Процесс установки достаточно долгий, наберитесь терпения.

Шаг 7. Финиш

Запуск XAMPP

Работаем на Windows 7.

XAMPP установлен, пора запускать. Запускается XMAPP ярлыком «XMAPP Control Panel».

XAMPP открыть панель

При открытии программы, XAMPP проверяет систему компьютера. Если система соответствует требованиям XAMPP для запуска модулей, ошибок не будет. Ошибки будут видны в окне информации и выделены красным цветом.

Привожу пример скриншота с ошибками. В примере, я вижу, что порт 80 занят и запуск Apache не возможен.

XMAPP, занят порт 80: как освободить порт 80

Невозможность запустить модуль Apache из-за занятости порта 80, одна из распространенных ошибок Windows. Если вы видите подобную информацию, значит запустить Apache, вы не сможете. Ваша задача освободить этот порт или запустить XAMPP на другом порту.

Пример освобождения порта 80 Windows

Когда я готовил эту статью и заново ставил XAMP, получил ошибку, что порт 80 занят. При попытке открыть в браузере адрес: http://localhost вижу такую картинку.

Для этого идем на вкладку Панель управление>>>Все элементы мелкие значки>>>Программы и компоненты>>>Включение и отключение компонентов Windows и отключаем IIS с перегрузкой компьютера. Всё порт 80 свободен.

IIS отключить

Это только пример из нескольких возможных сценарием, почему занят порт 80. Можно вообще запустить XMAPP на другом порту, например 8080. Ссылка исправлений вверх по тексту.

Панель XAMPP

Познакомимся с панелью XAMPP.

  • Запускаем XAMPP от имени администратора;
  • Смотрим отсутствие ошибок;

Панель XAMPP содержит все доступы для работы с модулями платформы и со всеми необходимыми инструментами Windows.

  • Кнопки справа: настройки XAMPP и инструменты Windows
  • Видим колонки: Start, Admin и Config.
  • Start они же Stop, запускают останавливают модули. Mercury это почтовый сервер.
  • Admin. Это кнопки доступа в административные панели модулей.
  • Config. Отличные кнопки. На кнопках Config вы найдете доступ ко всем файлам конфигурации модулей системы.

Настройки XAMPP

  • Netstat - Отличная кнопка, которая покажет все порты, которые задействованы системой на данный момент. Эта кнопка поможет вам, «без танцев с бубнами» посмотреть что висит на порте 80.
  • Shell - командная строка.
  • Explorer - просто откроет каталог установки XAMPP локальный сервер. Аналог Компьютер>>>Диск C.
  • Service - всплывающее окно, со списком всех запущенных служб на оси. Аналог: Панель управление>>>Все элементы мелкие значки>>>Администрирование>>>Службы.
  • Help и Quit без комментариев.
  • Кнопки слева: запуск/остановка модулей
  • Кнопки слева: администрирование

Обратите внимание на столбец кнопок admin. Это вход в панели администрирования модулей. Проверим их работы на примере phpmyadmin.

XAMPP панель phpmyadminВидим, стандартную панель phpmyadmin с которой можно работать без танцев с бубнами, как например на Денвер.

Примечание: Если бы XAMPP был на русском, цены бы ему не было.

Как запустить XAMPP

После исправления всех ошибок, можно запускать XAMPP. Запуск XAMPP это start необходимых для работы модулей: Apache, MySQL.

необходимые модули XAMPP

Проверка работы XAMPP

Для проверки работы XAMPP в адресной строке браузера пишем http://localhost .

Если всё сделали правильно и всё работает правильно видим панель сервера с кнопками управления.

XAMPP локальный сервер панель админа
XAMPP панель phpmyadmin
XAMPP php информация о сборке

Вывод

В этой статье, я показал, как установить XAMPP локальный сервер на Windows 7. Познакомил вас с панелью и настройкой XAMPP, запуском модулей, необходимых для работы и дал ссылку на исправление ошибки.

Зачем использовать полноценный веб-сервер в Windows 10 если для этого лучше использовать Linux?

  1. Если вы хотите создавать и тестировать, но не хотите покупать хостинг и чтоб к Вам могли на сайт зайти Ваши знакомые.
  2. Вы создаете веб-сайт под игровой сервер и Вам надо иметь удаленный доступ к базе данных на бесплатных хостингах такой функции нет только в платных тарифных планах и не во всех хостингах. Таким способом вы сможете со своими друзьями тестировать полноценный сайт бесплатно.
  3. Ну и самая распространённая причина в том, что использование Linux очень сложное что многим бы затруднило или вообще пропал бы смысл.

Установка веб-сервера

Веб-серверов на Windows есть несколько, но в данном случае будет рассмотрен Vertrigo Server вы можете его с официально сайта или с облака mail .

Немного об установке - в папке с программой внутри будет папка www в которой вы будете помещать Ваш сайт. Чтобы не засорять системный диск рекомендуется установить программу на один из не системных.

Запуск и использование

После установки запустите по ярлыку на рабочем столе. Если у Вас не был создан ярлык Вы можете создать его вручную указать путь к исполняемому файлу программы (vertrigo.exe). В появившемся окошке кликнете кнопку, показанную на скриншоте ниже. Программа будет свернута в трей и запущен веб-сервер.

После запуска можно поместить файлы веб-сайта в папку www внутри папки с программой. Для просмотра веб-сайта на вашем компьютере введите веб-браузере http://127.0.0.1 или http://localhost/ . Данные способы позволят просматривать веб-сайт только Вам, а для просмотра через интернет у Вас должны быть открыт порт 80 и внешний доступ к Вам. Для этого у Вас должен быть выключен антивирус и брандмауэр Windows или внесен в исключения. Чтоб к Вам могли зайти через интернет Вы должны узнать Ваш внешний ip адрес и ввести его в веб-браузере (http://Ваш ip/).

База данных

Для доступа к базе данных Vertrigo введите в адресной строке веб-браузера http://127.0.0.1/phpmyadmin/ . По умолчанию логин: root, пароль: vertrigo после этого можете создавать или изменять базу данных, экспортировать, импортировать, менять логин и пароль.

Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно - GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

Дисклаймер номер раз: «я не программист» (с), а дизайнер интерфейсов и фронтенд-технолог (но в некоторых случаях могу помочь коллегам и накодить что-нибудь этакое, и меня даже потом за это не побьют)

Дисклаймер номер два: да, я прекрасно представляю, что в Ubuntu всё это делается в разы быстрее. Но я работаю на Windows, так исторически сложилось.

Итак, приступим.

Наш план работ включает установку следующих продуктов:

  1. PuTTY
  2. Denwer (Apache, MySQL, PHP)
  3. Nginx
  4. Memcached
  5. MongoDB

1. PuTTY

PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.

В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
Офсайт:
Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.

2. GIT

Для работы с git я уже не первый год использую TortoiseGit , который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.


Офсайт:

2.1 Для работы TortoiseGit требуется git для Windows , который можно забрать на гуглекоде ;
2.2 сам TortoiseGit устанавливаем отсюда

3. Denwer

Денвер - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.
Офсайт:

3.1 Установка

Нам потребуется скачать базовый комплект и дополнительные модули PHP5 .

Лирическое отступление:

нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.

Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll . Библиотеку можно и положить в папку "\Windows\System32\" (x32) или "\Windows\SysWOW64\" (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».

3.2 Проверка работоспособности

После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.
Идем в Z:\home и добавляем новый сайт: создаем папку test.local , в ней папку «www» , в которую добавляем файл index.php с невероятно креативным текстом:

";

Перезапускаем Денвер, открываем в браузере www.test.local , впечатляемся и идём дальше

4. Memcached

Memcached - связующее программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы.

Memcache - расширение для php, предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях.

4.1 Установка memcached

А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюда
В. \usr\local\memcached

4.2 Установка memcache

А. скачиваем архив с библиотекой отсюда
В. распаковываем содержимое архива в \usr\local\php5\ext\
С. открываем файл php.ini (\usr\local\php5\php.ini ) и подключаем расширение:
extension=php_memcache.dll

4.3 Настраиваем запуск Memcached вместе с запуском Denwer

Чтобы запустить скрипт вместе с Денвером нам нужно:

  1. написать скрипт, содержащий команды запуска и останова приложения/ сервиса и положить его в папку \denwer\scripts\init.d
  2. создать ссылку на этот скрипт в папке конфигурации запуски/останова \denwer\scripts\main\

А. создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller;

B. теперь создадим ссылку на скрипт – обычный текстовый файл, содержащий указание, что при старте, рестарте и остановке Денвера, необходимо выполнить init.d/memcached.pl
В текстовом редакторе пишем
init.d/memcached
и сохраняем файл под именем «40_memcached» в следующие папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

4.4 Проверяем результат

В наш тестовый скрипт (index.php) добавляем:
$memcache = new Memcache; $memcache->connect("127.0.0.1", 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();

Перезапускаем Денвер и смотрим, что получилось

5. Nginx

Nginx - простой, быстрый и надёжный сервер, не перегруженный функциями.

Офсайт:

5.1 Настройка Nginx

A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginx
B. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда

Server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = "test.local"){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } }
Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.

5.2 Настройка Apache

По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).
Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта

## ## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА. ## ## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80, ## измените номер порта в следующей далее директиве. ## #Listen $&{ip:-127.0.0.1}:$&{port:-8080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080} # # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #

5.3 Настраиваем запуск Nginx вместе с запуском Denwer

A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;

B. в текстовом редакторе пишем
init.d/nginx
и сохраняем файл под именем «50_memcached» в следующие папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

5.4 Проверяем результат

Положим рядом со скриптом файл style.css с содержанием
h1{ color: red; } h2{ color: green; }

И облагородим наш index.php :

Test me

Memcached

connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.

6. MongoDB

MongoDB - документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.

Офсайт:

6.1 PHP-driver

А. Скачиваем библиотеку php_mongo.dll с этого сайта : и закидываем в папку \usr\local\php5\ext\
Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip . Если у вас по какой-то причине не заведётся, попробуйте другие версии.

B. подключаем расширение в php.ini
extension=php_mongo.dll

6.2 Установка Mongo

А. скачиваем архив с Mongo и распаковываем в папку \usr\local\mongodb . В этой же папке создаем еще две папки:

B. устанавливаем службу
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

6.3 Настраиваем запуск MongoDB совместно с денвером

A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\
#!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;

B. в текстовом редакторе пишем
init.d/mongod
и сохраняем файл под именем «60_mongod» в уже знакомые нам папки:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

6.4 Проверяем результат

Запустим консольный интерфейс mongo
> Z:\usr\local\mongodb\bin\mongo.exe

И выполним вставку и вывод тестового значения в базу “test”
> db.test.save({ name: “Habr!” })
> db.test.find()

В результате должно получиться следующее:

6.5. Установка интерфейса управления Mongo-базами

На офсайте MongoDB есть список и краткие обзоры админок , так что можно выбрать по вкусу.
Я для себя выбрала RockMongo , поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.

А. скачиваем архив с админкой с этой страницы . Выбираем, естественно, версию для Windows . На момент написания статьи это RockMongo-on-Windows v0.0.4

B. из архива берём папку \rockmongo-on-windows\web\rockmongo и копируем её в директорию нашего тестового сайта
Открываем config.php и меняем значение параметра
$MONGO["servers"][$i]["control_auth"] = true;
на
$MONGO["servers"][$i]["control_auth"] = false;

C. Проверяем результат по ссылке www.test.local/rockmongo/index.php

Поздравляю! Теперь мы окончательные и бесповоротные молодцы.

Бонус №1. Работа с php из консоли Windows

Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH .


Нажимаем на «Изменить» и добавляем в конец строки
;Z:\usr\local\php5

Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php

Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
Вводим:
> php console.php “UserName”

Консоль отвечает:
> “Hello, UserName!”

PHP побеждён, всеобщее ликование, апплодисменты, занавес.

Бонус №2.

Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабе

Надеюсь, что данный материал окажется полезен.
Буду благодарна за замечания и предложения.

Теги: Добавить метки

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

ПО работает в операционной системе Windows и является в буквальном смысле локальным WEB-сервером, позволяющим производить полноценную настройку и отладку приложений (сайтов).

При установке Денвера инсталлируется сервис Apache и на обычном пользовательском компьютере можно создать огромное количество сайтов на виртуальных доменных именах (такой подход значительно упрощает перенос сайта с локального хранилища на хостинг). Основное удобство заключается в том, что обращение к локальным сайтам осуществляется по именам, которые имеют те же имена, что и папки в каталоге home Денвера.

Даже для непрофессионала разработка простого сайта занимает 10-20 минут. Созданный, отредактированный и просмотренный на локальном компьютере сайт затем можно разместить на хостинге. Денвер содержит все необходимые инструменты для создания локального сервера.

Доступ к Denwer из локальной сети

Перед всеми настройками, приведём несколько примеров, когда доступ к сайту из локальной сети может быть реально полезен:

  • сайт создан для корпоративных целей . То есть сайт служит исключительно для работы внутри офиса или здания организации/учреждения. В этом случае тратить деньги, пусть и не самые большие, на покупку доменного имени и хостинга не всегда рационально;
  • требуется отладка сайта в различных версиях операционных систем , будь то разные версии Windows, MacOS, Linux или другие, более экзотические ОС. Да, для тестирования сайта на других ОС достаточно воспользоваться виртуальной машиной, но это в том случае, если сайт уже загружен на хостинг, а вот на этапе подготовки и внесения значительных изменений в структуру и дизайн ресурса способ с доступом к сайту в локальной сети очень пригодится;
  • отладка сайта на мобильных устройствах . Некоторые шаблоны современных CMS могут вести себя достаточно непредсказуемо при открытии с мобильных аппаратов. Сегодня этим пренебрегать не стоит, так как поисковые системы всё лояльнее относится к оптимизированным под смартфоны ресурсам. Конечно, популярные браузеры имеют опцию, имитирующую отображение страницы на мобильном девайсе, но если вы проверите, то убедитесь, что работа некоторых меню сайта и отображения некоторых элементов в десктопном браузере всё равно будет отличаться от таковых на реальном мобильном гаджете.

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

Первые два этапа подготовки проводятся непосредственно на компьютере, где расположен сайт, то есть там, где установлен денвер. Это наш локальный сервер или, другими словами, хостинг , то есть хранилище, на котором расположены все файлы ресурса.

Для начала необходимо обеспечить доступность локального сервера в сети . Современные версии Денвера сами прописывают исключения в стандартный межсетевой экран операционной системы при установке.

Но в случае, когда основной компьютер оказывается недоступен из локальной сети, необходимо добавить входящие/исходящие подключения в исключения Брандмауэра.
Для начала добавляем порт доступа в исключения используемого вами Брандмауэра или Фаервола. По умолчанию денвером используется 80 порт .

Если после проделанных настроек компьютер всё равно будет не доступен с внешних устройств, то потребуется добавить ip-адреса внешних компьютеров и мобильных устройств локальной сети в исключения сетевого экрана.
О том, как узнать ip-адрес компьютера в локальной сети подробно можно почитать в статье Определение ip адреса и mac адреса компьютера в сети . Это всё, что нам нужно сделать на данном этапе.

Открытие сайта из Denwer по ip-адресу в локальной сети

Второй этап настройки. Теперь нам нужно сделать так, чтобы при подключении к ip-адресу нашего основного компьютера открывался нужный локальный сайт . Все нижеприведённые манипуляции подразумевают, что у нас уже установлен denwer, а локальный сайт доступен с основного компьютера.

Есть два способа открыть по ip-адресу компьютера нужный сайт .

Первый способ - это создать в папке home денвера каталог, именем которого сделать ip-адрес основного компьютера, например, 192.168.0.21 и уже в этом каталоге расположить папку www с файлами сайта. То есть путь до каталога, содержащего сайт будет следующим:

X:\home\192.168.0.21\www\

где X - это буква виртуального диска, созданного при установке Denwer;
192.168.0.21

Этот способ простой, но его минус заключается в том, что он работает на этапе создания локального сайта . Если таковой у вас уже развёрнут, то этот вариант не подходит.
Кроме того, при подобной настройке придётся открывать сайт исключительно по ip-адресу , а не по доменному имени.

Второй способ открытия сайта по ip-адресу в локальной сети - использование файла .htaccess

.htaccess (от английского hypertext access) - файл дополнительной конфигурации веб-сервера (такого, например, как Apache и подобных)

Подобный файл может быть уже расположен в папке www или public_html , нам же надо создать этот файл на одном уровне с данными папками (www или public_html ), то есть в каталоге с названием доменного имени сайта..htaccess будет следующим:

X:\home\сайт\.htaccess

Содержимое файла будет таким (можно использовать и прочие настройки, но их обсуждение выходит за рамки данной публикации):

# dnwr_ip 192.168.0.21

где 192.168.0.21 - ip-адрес в локальной сети компьютера, на котором установлен Denwer.
Если вам по каким-то причинам не удаётся создать подобный файл, вы можете скачать файл.htaccess из прикреплённого к статье архива: .htaccess

ВАЖНО! Перед использованием файла, взятого из приведённого выше архива, необходимо открыть этот файл любым текстовым редактором (Блокнот, Notepad++ и так далее) и в строке # dnwr_ip 192.168.0.21 изменить значение ip-адреса на адрес вашего компьютера с установленным Denwer в локальной сети. После этого сохранить изменения, внесённые в файл

После перезапуска Денвера при переходе в браузере на ip главного компьютера будет открываться сайт, в каталоге которого расположен файл .htaccess

Открытие сайта из Denwer в локальной сети по домену

Основная цель достигнута, наш сайт доступен в локальной сети , однако, каждый раз набивать в адресной строке ip-адрес не очень удобно. Нужно сделать так, чтобы сайт в локальной сети открывался при переходе в адресной строке браузера по доменному имени.

Всё, что нам нужно сделать для этого - отредактировать должным образом файл hosts в клиентской операционной системе.

ВАЖНО! Файл hosts на основном компьютере редактировать не нужно, все необходимые записи вносятся в него при запуске программы Denwer. Вся работа на данном этапе проводится исключительном с файлом hosts того компьютера, с которого будет производиться подключение к сайту из локальной сети

Итак, если на клиентском компьютере установлена операционная система Windows , то нам нужно открыть для редактирования в любом текстовом редакторе (Блокнот, Notepad++ и так далее) файл, расположенный по пути

C:\Windows\System32\drivers\etc\hosts

В открывшемся редакторе добавляем новую строчку и вносим туда следующие записи:

192.168.0..168.0.21 www.сайт

где 192.168.0.21 - ip-адрес в локальной сети компьютера, на котором установлен Denwer;
сайт - адрес, при переходе по которому пользователь в локальной сети должен получать наш сайт.

Сохраняем изменения.

Если вам не удаётся сохранить внесённые изменения в файл hosts , то можно скопировать файл в любую пользовательскую папку (Рабочий стол , Мои документы и так далее), отредактировать файл, сохранить изменения, а уже затем поместить файл hosts обратно в каталог etc , откуда файл и был скопирован.

Если же доступ в локальной сети необходимо обеспечить смартфону/планшету на базе Android , то аналогичную запись, приведённую выше, нужно добавить в файл hosts, который находится по следующему пути:

/system/etc/hosts

О том, как это сделать, подробно описано в статье Убираем рекламу на Android. Файл hosts
Если текстовым редактором изменить файл hosts на Андроид не удалось , то можно воспользоваться специальной утилитой, которая называется Hosts Editor , и предназначена конкретной для этой цели.

ВАЖНО! И в случае редактирования hosts файла на Android вручную, и в случае использования Hosts Editor для успешного выполнения операции требуются root права (права суперпользователя, получаемые после взлома операционной системы аппарата). Это же касается и аппаратов iPhone с установленной iOS , на которой для редактирования hosts файла обязательно проведение Jailbreak

Пути расположения файла hosts для некоторых других операционных систем (взято из приведённой выше публикации):

В UNIX-подобных операционных системах типа Linux файл расположен в каталоге:

В последних версиях Mac OS X и iOS от Apple путь будет следующим:

/private/etc/

или просто:

Что надо знать при работе с Denwer в локальной сети

Настройки проведены, наш сайт доступен в локальной сети по доменному имени . Рассмотрим некоторые моменты, которые необходимо учитывать при работе с Денвером в локальной сети:

На этом всё, мы рассмотрели, как открыть сайт из Денвер на компьютере и на смартфоне в локальной сети .

Можно ли настроить систему, чтобы сайты, расположенные на локальном компьютере, были доступны всем пользователям локальной сети, к которой я подключен, или же даже из Интернета?..

Проекты, заведенные в Денвере, по умолчанию не доступны из локальной сети. Это достигается благодаря тому, что все виртуальные хосты имеют IP-адрес 127.0.0.1 , всегда обозначающий "текущая локальная машина".

Тем не менее, все же существует возможность назначить тому или иному виртуальному хосту "внешний" IP-адрес, доступный из вашей локальной сети или даже Интернета (если компьютер имеет постоянный IP-адрес в Интернете).

Помните: Денвер - это инструмент разработчика, а не средство хостинга. Несмотря на то, что проекты в Денвере можно открыть для всеобщего доступа, мы категорически не рекомендуем это делать. Дело тут в безопасности: Денвер, как правило, запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на машине все, что угодно. Малейшая "дыра" в безопасности скрипта откроет хакеру доступ к вашей машине.

Определение вашего IP-адреса

Для начала следует узнать, какой IP-адрес назначен вам в локальной сети или Интернете. Проще всего это сделать, открыв Командную строку Windows и набрав там:

ipconfig

Вы увидите что-то типа следующего:

Настройка протокола IP для Windows
WiFi - Ethernet адаптер:
DNS-суффикс этого подключения. . :
IP-адрес. . . . . . . . . . . . : 192.168.0.49
Маска подсети. . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . . : 192.168.0.1

В данном случае внешний IP-адрес машины в локальной сети — 192.168.0.49 . В списке могут быть перечислены сразу несколько сетевых интерфейсов (если ваш компьютер оборудован несколькими сетевыми картами или беспроводными устройствами). В этом случае вам нужно определить, какой из интерфейсов является внешним, доступным из локальной сети. (IP-адреса, начинающиеся с 192.168 или 10 , зарезервированы только для доступа из локальной сети, но не из Интернета. Т.е. они являются "приватными".)

Убедитесь, что ваш IP-адрес является статическим, т.е. не меняется при следующем включении машины или перезагрузке. Если IP-адрес выдается динамически, то не существует простого способа, позволяющего подключить к нему Денвер.

Настройка межсетевого экрана (брандмауэра, фаервола) Windows

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

Наша цель — разрешить Windows подключения к порту 80 (протокол HTTP) вашего IP-адреса 192.168.0.49 , на котором будет "висеть" Apache. Приведем инструкции, как это сделать в Windows XP:


  1. Откройте Пуск — Панель управления , выберите Брандмауэр Windows .

  2. Перейдите на вкладку Исключения .

  3. Нажмите кнопку Добавить порт , в поле Имя введите ваш IP-адрес, а в поле Номер порта укажите 80.

Если вы устанавливали свой собственный брандмауэр или антивирус, то, конечно, вам придется обратиться к их документации.

Простой способ открытия сайта наружу

Предположим, ваш IP-адрес равен 192.168.0.49 , как в примере выше. Самый простой способ заставить Денвер открывать по адресу http://192.168.0.49 определенный сайт — это расположить документы сайта в директории:

/home/192.168.0.49/www

Да, имя директории содержит точки! Не забудьте также перезапустить Денвер.

Более того: если ваш провайдер выдал вам не только IP-адрес, но также и связанное с ним доменное имя, то сайт будет сразу же доступен по этому доменному имени. В случае статического IP-адреса домен выдается почти всегда, вам лишь нужно узнать его у провайдера. Например, если ваше доменное имя равно abcd.ints.ru (провайдер Корвет-Телеком НЭКСТ), то сайт будет доступен по адресу http://abcd.ints.ru .

Другой способ назначения IP-адреса сайту

Если у вас уже имеется виртуальный хост в Денвере и вы не хотите переименовывать его директорию документов, то вы можете назначить сайту свой собственный IP-адрес и сделать его доступным снаружи. Предположим, что ваш хост хранится в директории /home/mysupersite/www . Чтобы назначить ему IP-адрес 192.168.0.49 , необходимо создать файл /home/mysupersite/.htaccess и добавить в него строчки:

## Файл /home/mysupersite/.htaccess
## Укажите здесь ваш внешний IP-адрес, а не 192.168.0.49!
# dnwr_ip 192.168.0.49

Кстати, вы можете узнать, какие еще существуют директивы, заглянув в файл /home/custom/.htaccess .

Перезапустите Денвер. Проверьте, что по адресу http://192.168.0.49 (вместо 192.168.0.49 , конечно, нужно подставить ваш собственный IP-адрес) открывается ваш сайт /home/mysupersite/www .

Предупреждение службы безопасности

Напомним еще раз, что Денвер - это не законченный и надежный Web-сервер, это - всего лишь инструмент , позволяющий отлаживать (тестировать) сайты, «не выходя из дома». Любая попытка использовать его в других целях может быть небезопасна.

Вообще, настроить можно все, что угодно, другое дело - нужно ли это. Помните, что открытый для окружающего мира Web-сервер представляет потенциальную уязвимость в защите вашей машины. Например, злоумышленник может проникнуть через не до конца отлаженный скрипт. Т.к. Денвер запускается с правами Администратора (то есть, с максимальными правами в системе), то любой скрипт, даже самый маленький, может делать все, что ему заблагорассудится. Давайте предположим, что вы написали вроде бы безобидный скрипт test.pl , который делает следующее:

#!/usr/bin/perl -w
use CGI::WebIn;
use CGI::WebOut;
Header("Content-type: text/plain");
open(F, $IN) or die "Could not open\n";
while() { print }

Программа, казалось бы, просто печатает содержимое файла, указанного в параметре fname . Например, http://localhost/cgi/test.pl?fname=test.pl напечатает исходный код программы. Однако нетрудно заметить, что вызов open в таком виде небезопасен. Например, зайдя по адресу /cgi/test.pl?fname=|dеl+/s/q+c:\windows , в программе будет выполнено:

Open(F, "|dеl /s/q c:\\windows") or ...

Это приведет к немедленному уничтожению всей директории Windows!

Возможно, вы скажете, что localhost - на то и localhost , чтобы работать лишь с текущей машины. Если вы открыли доступ наружу по инструкции, приведенной выше, то все именно так. Тем не менее, в случае неправильной настройки Apache можно проникнуть на localhost и извне (если сервер открыт). Это делается очень просто:

C:/> telnet server.ru 80
GET /cgi/test.pl?fname=|dеl+/s/q+c:\windows HTTP/1.1
Host: localhost
здесь нужно просто нажать Enter

Вывод: если у вас нет значительного опыта в администрировании серверов, установка Web-сервера, доступного извне, может быть опасной. Это особенно относится к счастливым обладателям выделенных каналов в Интернет. Одно неверное движение, и однажды утром вы проснетесь с только что отформатированным жестким диском (в лучшем случае).

Локальный сервер Denwer чрезвычайно популярен, поэтому у пользователей возникает масса вопросов по его установке и настройке. В этой статье, кроме всего прочего, рассматриваются и возможные проблемы при работе с денвер.

Любой современный сайт проходит довольно длительный этап разработки, включающий как создание и доведение «до ума » шаблона, так и наполнение его контентом.

Весь этот процесс, конечно, должен быть скрыт от будущих посетителей сайта, поэтому данная работа проводится не на удалённом, а на локальном сервере, в качестве которого выступает собственный компьютер разработчика с установленным на нём специальным программным обеспечением. Чаще всего таким программным обеспечением является именно Denwer .

Строго говоря, локальный сервер необходим для разработки серьёзных проектов – динамических сайтов, для работы которых необходимо использование php или Perl-скриптов .

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

Почему Denwer используют чаще?

Как мы уже выяснили, локальный сервер представляет собой специализированное программное обеспечение, установив которое на свой компьютер, веб-мастер может разрабатывать свой сайт, не выходя в Интернет.

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

Данный пакет инструментов для веб-разработчика отличается универсальностью и гибкостью настройки. Он включает в себя HTTP-сервер Apache , препроцессор PHP , компонент PHPMyAdmin для управления базами данных, интерпретатор Perl и ещё большое количество важных и полезных компонентов.

К несомненным плюсам Denwer можно отнести чрезвычайную лёгкость и быстроту установки пакета, а также то, что все файлы Денвера после установки располагаются в одной-единственной папке Webservers .

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

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

Главный же недостаток Денвера - возможность установки исключительно в операционной системе Windows.

Итак, ещё раз вкратце отметим ключевые особенности локального сервера Denwer :

  • базовая версия Denwer легко расширяется новыми дистрибутивами и модулями;
  • базы данных управляются при помощи полнофункциональной панели PHPMyAdmin ;
  • присутствует возможность одновременной работы с любым количеством сайтов;
  • предусмотрена возможность установки старых версий PHP4 , MySQL4 , что может быть полезно разработчикам, если с текущей версией localhost denwer сайт не работает;
  • функционал сайта на локальном сервере полностью аналогичен функционалу на удалённом сервере любого хостинг-провайдера. Это позволяет полностью протестировать сайт перед заливкой его на удалённый сервер.

Пошаговая инструкция по установке денвера

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

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

Вы не знаете, как запустить сайт на денвере? Просто создавайте проект в папке C:WebServershomelocalhostwww .

Следующий шаг – настройка локального сервера

Одним из преимуществ денвера является простота его настройки. Как настроить денвер правильно, мы расскажем ниже. Если использовать настройки по умолчанию, могут возникнуть проблемы при установке объёмных расширений, либо при импорте большой базы данных.

Стандартные настройки ограничивают объем загружаемых файлов всего лишь двумя мегабайтами. Чтобы снять данное ограничение, необходимо отредактировать в обычном текстовом редакторе файл php.ini (располагается в папке usrlocalphp5).

В строке upload_max_filesize=2M следует изменить параметр 2 на 32, тем самым ограничив объём загружаемого файла 32-мя мегабайтами.

При этом в строке post_max_size=8M восьмёрку следует заменить цифрой 64, так как этот параметр определяет максимальный объём передаваемых данных, и он обязательно должен быть в два, или даже в три раза больше ограничения по объёму загружаемого файла.

Если бы все пользователи выполняли данные рекомендации, то разговоров о том, что не работает денвер, было бы меньше.

Начало работы с локальным сервером

Для того чтобы начать работу с локальным сервером, нужно запустить денвер, кликнув двойным щелчком по иконке «Start Denwer » на рабочем столе, открыть браузер и в адресной строке набрать адрес http://localhost/denwer/ .

Если откроется окно, такое же, как и на картинке ниже, то ваш локальный сервер успешно запустился. Если же появляются сообщения об ошибках, то это значит, что денвер не запускается:

На открытой ранее странице http://localhost/denwer/ найдите раздел «Тестирование Денвера » и в таблице данного раздела перейдите по всем имеющемся ссылкам, каждая из которых активирует один из установленных модулей.

Если проблем нет, возможности будущего сайта на вашем локальном сервере будет полностью соответствовать тому, что вы получите на удалённом сервере хостинг-провайдера:

В первую очередь проверьте работоспособность PHP и зайдите в сервис администрирования баз данных – PHPMyAdmin .

Если вы не знаете, как зайти в phpmyadmin denwer , просто нажмите на соответствующую ссылку в той же таблице:

Для того чтобы начать разрабатывать новый проект на локальном сервере, нужно просто создать новую папку, например, Moy_Sayt.ru в директории C:WebServershomelocalhostwww . Её имя будет соответствовать названию вашего сайта.

В дальнейшем, чтобы открыть локальный сайт, в браузере необходимо будет прописать название данной папки после http://localhost/ , например, http://localhost/Moy_Sayt.ru/ .

Что делать, если денвер не заработал?

После подключения локального сервера браузер в некоторых случаях выдаёт сообщение, что не запускается денвер. Основная причина чаще всего заключается в его блокировке вашим антивирусным пакетом или брандмауэром.

В этом случае придётся самостоятельно разрешить исходящее соединение для сервера по протоколу TCP на 80 и 443 порты для http и https соответственно. (Располагается оно обычно по адресу C:webserversUSRlocalapacheBINhttpd.exe ).

Кстати, эти же порты может занимать и популярное приложение Skype , поэтому на время работы с локальным сервером его лучше отключить.

Проекты, аналогичные Denwer

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

Так, например, аналог denwer XAMPP предлагает не только набор инструментов для локального сервера, но и полноценную графическую оболочку, которой, как было ранее отмечено, в Denwer не имеется. Поэтому многие разработчики предпочитают именно XAMPP .

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

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

Работа с Денвером - особенности самого сервера

Перед тем как настроить Денвер, необходимо учесть несколько нюансов самого сервера. Прежде всего, ключевой особенностью Денвера становится поддержка работы с несколькими веб-проектами одновременно, с расположением каждого из них отдельно на своём виртуальном хосте. Для этого под каждый проект сервером создаётся отдельная папка. Создание таких хостов происходит автоматически.

Как показывает практика, настройка Denwer не представляет особых сложностей, но всё же важно учесть ряд ключевых параметров для эффективной и стабильной работы. Прежде всего, как работать с Денвером, что нужно учесть для настройки?

Все компоненты этого программного решения уже предоставляются полностью настроенными, готовыми к работе. В том числе SSL, кодировка MySQL и прочие программные средства. При желании пользователь может самостоятельно вручную обновлять любой из сервисов, входящих в состав Денвера. С этой целью новые версии дистрибутивов просто копируются в папке поверх новых.

После того как наша установка завершена, вновь появится окно браузера, информирующее о завершении инсталляции. Его можно смело закрывать. Для запуска программы находим на рабочем столе ярлык Start Denwer - дважды нажав по нему, запустим наш сервер.

Конечно, какое-то время программе нужно для запуска. А после загрузки приложения на панели будут заметны две иконки - при их наличии запуск прошёл нормально. Когда мы откроем «Мой компьютер», увидим появление на компьютере виртуального диска Z.

Перейдя на него, мы можем заметить несколько папок. В этом случае нас интересует как раз папка Home.

И здесь мы уже заметим наличие нескольких папок - Localhost и test1.ru, которые будут корневыми для двух локальных сайтов. Первый содержит набор утилит по работе с базой данных, во второй папке находится тестовый сайт с одной веб-страницей.

Остановим своё внимание на работе с базой данных. Здесь для работы с Денвером запускаем любой браузер, набрав localhost или http://localhost. После этого увидим сообщение о работе сервера.

Затем для настройки Денвера эту страницу прокручиваем вплоть до заголовка «Утилиты» - увидим множество ссылок. Выбираем строку «phpMyAdmin - администрирование СУБД MySQL», после чего увидим новое окно.

Латиницей вписываем в поле Create new database название своей базы данных, остаётся лишь нажать Create и должно появиться новое окно.

Тут уже не нужно ничего делать, просто нажимаем вкладку Privileges, чтобы перейти дальше.

При нажатии Add a new User мы увидим новое окно, в котором необходимо указать ряд сведений:

  1. User name - отмечаем имя пользователя.
  2. Host - здесь указываем Localhost либо из выпадающего списка можно выбрать Local.
  3. Password и Re-type - здесь необходимо указать пароль. Либо его можно сгенерировать с помощью Generate. Однако обязательно нужно запомнить, лучше его где-нибудь зафиксировать, он нам ещё обязательно понадобится в дальнейшем.

Ниже мы заметим блок Global privileges. Здесь необходимо выделить все опции с помощью кнопки Check All. Затем просто остается нажать Go в правом углу, после чего мы завершили работу. Остаётся лишь поздравить - при прохождении всех указанных шагов вы успешно справились с созданием своей новой базы данных. Далее, перейдём к её непосредственному использованию для эффективной и стабильной работы своего сайта.

Создание Таблицы (По необходимости)

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

phpMyAdmin в Панели Управления Хостингом Hostinger

После входа на страницу phpMyAdmin вы увидите подобную картину:

Меню phpMyAdmin

Давайте создадим таблицу с названием Students для нашей базы данных u104357129_name. Создать новую таблицу можно, нажав на кнопку Create Table. После этого вы увидите новую страницу со всеми необходимыми полями для ввода данных.

Окно с Полями для Создания Таблицы MySQL

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

Здесь приведём лишь несколько простых пояснение столбцов, которые мы будем использовать:

  • Name — это имя столбца. Будет отображено в самом верху вашей таблицы.
  • Type — тип ваших данных. Вы можете указать любой тип: int, varchar, string и многие другие. Например, мы указали varchar, поскольку нам нужно ввести строку переменной длины, содержащую буквы, не цифры.
  • Length/Values — используется для задания максимальной длины вашей записи в столбце.
  • Index — для нашего поля “ID” мы используем индекс “Primary”. Когда создаётся таблица, рекомендуется иметь один столбец ID. Он используется для индексации записей в таблице, когда настраиваются взаимосвязи между таблицами. Здесь также можно отметить “A_I”, что означает Auto Increment. Эта настройки будет автоматически увеличивать индекс (1,2,3,4…).

Нажмите Save, чтобы сохранить вашу таблицу.

Создание PHP Кода и Добавление Записи в Таблицу MySQL (Insert)

Есть два способа вставить данные в вашу базу данных MySQL. Метод PHP MySQLi и PHP Data Object, или PDO.

Метод с MySQLi

Прежде всего, нужно установить соединение с базой данных. После этого мы можем продолжить с SQL запросом на добавление записи в таблицу MySQL — INSERT. Ниже показан полный пример PHP кода с методами подключения и вставки:

" . mysqli_error($conn);
}
mysqli_close($conn);

?>

Первая часть кода (строки 3 – 18) касается подключения к базе данных. Мы не станем углубляться, так как у нас есть отдельное подробное руководство по этой теме. Если вы хотите знать, что означает каждая строка, читайте, как подключиться к базе данных.

Начнём со строки 19:

$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Test', 'Testing', 'Testing@tesing.com')";

Это наиболее важная строка PHP кода, поскольку именно она отвечает за добавление записи в таблицу MySQL. INSERT INTO — это выражение, которое добавляет запись в указанную таблицу базы данных MySQL. В нашем примере мы добавляем данные в таблицу Students.

Двигаясь дальше, в скобках, мы указываем имена столбцов таблицы, в которые хотим добавить значения: (name, lastname, email). Данные будут добавлены в определённом порядке. Если мы напишем (email, lastname, name), значения будут добавлены в неправильном порядке.

Следующая часть — выражение VALUES. Здесь мы задаём наши значения в ранее указанные поля. Таким образом, каждый столбец получит своё значение. Например, в нашем случае это будет что-то вроде: name = Test, lastname = Testing, email = Testing@testing.com.

Также стоит отметить, что мы только что выполнили SQL-запрос с использованием кода PHP. SQL-запросы должны быть заключены в кавычки. В нашем примере всё между кавычками и записанное после $sql = является SQL-запросом.

Следующая часть кода (20 – 22 строки) проверяет успешность нашего запроса:

if (mysqli_query($conn, $sql)) {
     echo "New record created successfully";
}

Мы увидим это сообщение, если запрос выполнен успешно.

И последняя часть ( строки 22 – 24) демонстрирует пример другого сообщения.

else {
     echo "Error: " . $sql . "
" . mysqli_error($conn); }

Вы увидите подобное сообщение в случае возникновения ошибки при попытке отправить запрос.

Метод с PHP Data Object (PDO)

Как и в предыдущем примере, нам нужно прежде всего выполнить подключение к базе данных, которое производится при создании нового объекта PDO. Как это сделать, показано в уже не раз упомянутом руководстве. Поскольку подключение к базе данных MySQL является объектом PDO, мы должны использовать различные PDO методы (любую функцию, которая является частью любого объекта) для подготовки и запуска запросов. Методы объектов вызываются слудеющим образом:

$the_Object->the_Method();

PDO позволяет вам подготовить SQL-код перед его выполнением. Перед запуском SQL-запрос оценивается и корректируется. Не секрет, что взломщики могут модифицировать запрос. SQL-инъекция может быть осуществлена просто путём ввода SQL-кода в поле формы. Например:

// Пользователь вписывает это в поле имени пользователя в форме для входа
john"; DROP DATABASE user_table;

// И вот, во что превращается окончательный запрос  
"SELECT * FROM user_table WHERE username = john"; DROP DATABASE user_table;

Поскольку SQL-код синтаксически правильный, точка с запятой делает из DROP DATABASE user_table новый SQL-запрос, а ваша таблица пользователей удаляется. Подготовляемые запросы, также известные как связываемые переменные не позволят завершить запрос, использовав символы  и ;. Как результат, вредоносная инструкция DROP DATABASE не будет выполнена.

Всегда используйте подготовляемые запросы, когда отправляете или получаете данные из базы данных с PDO

Чтобы использовать подготовляемые запросы, вы должны написать новую переменную, которая вызывает метод prepare() объекта базы данных.

В правильном виде код выглядит так:

 PDO::ERRMODE_EXCEPTION];

// Создаём новое соединение с базой данных MySQL с использованием PDO, $my_Db_Connection - это объект
try { 
  $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options);
  echo "Connected successfully";
} catch (PDOException $error) {
  echo 'Connection error: ' . $error->getMessage();
}

// Задаём переменные для человека, которого мы хотим добавить в базу данных
$first_Name = "Test";
$last_Name = "Testing";
$email = "Testing@testing.com";

// Здесь мы создаём переменную, которая вызывает метод prepare() объекта базы данных
// SQL-запрос, который вы хотите запустить, вводится как параметр, а плейсхолдеры записываются следующим образом - :placeholder_name
$my_Insert_Statement = $my_Db_Connection->prepare("INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)");

// Теперь мы сообщаем скрипту, на какую переменную фактически ссылается каждый плейсхолдер, используя метод bindParam()
// Первый параметр - это плейсхолдер в приведённом выше выражении, второй параметр - это переменная, на которую он должен ссылаться
$my_Insert_Statement->bindParam(:first_name, $first_Name);
$my_Insert_Statement->bindParam(:last_name, $last_Name);
$my_Insert_Statement->bindParam(:email, $email);

// Выполните запрос, используя данные, которые мы только-что определили
// Метод execute() возвращает TRUE, если запрос был выполнен успешно и FALSE в противном случае, позволяя вам создавать собственные сообщения
if ($my_Insert_Statement->execute()) {
  echo "New record created successfully";
} else {
  echo "Unable to create record";
}

// На этом этапе вы можете изменить данные переменных и выполнить запрос снова, чтобы добавить больше данных в БД.
$first_Name = "John";
$last_Name = "Smith";
$email = "john.smith@email.com";
$my_Insert_Statement->execute();

// Выполните снова с другими переменными 
if ($my_Insert_Statement->execute()) {
  echo "New record created successfully";
} else {
  echo "Unable to create record";
}

В строках 28, 29 и 30 мы используем метод bindParam() объекта базы данных. Есть так же метод bindValue(), отличающийся от предыдущего.

  • bindParam() — связывает переменную PHP с параметром, достигнув execute(). Первый раз, когда скрипт доходит до метода execute() он видит, что $first_Name ссылается на “Test”, связывает это значение и выполняет запрос. Когда скрипт добирается до метода execute() второй раз, он смотрит, что $first_Name теперь ссылается на “John”, связывает это значение и запускает запрос опять с новым значением. Важно понимать, что мы создаём запрос один раз и повторно используем его, подставляя разные данные в разных местах скрипта.
  • bindValue() — этот метод связывает параметр с заданным значением. Поскольку заданное значение $first_Name — “Test”, при достижении метода bindValue(), оно будет использоваться каждый раз при вызове метода execute() для $my_Insert_Statement.

Обратите внимание, что мы повторно используем переменную $first_Name и задаём ей новое значение во второй раз. Если вы проверите свою базу данных после запуска этого скрипта, там будут оба заданных имени, даже если переменная $first_Name в конце скрипта равна “John”. Помните, что PHP оценивает содержимое всего скрипта перед его выполнением.

Если вы измените свой скрипт, заменив bindParam на bindValue, вы добавите в базу MySQL “Test Testing” дважды, а John Smith будет проигнорирован.

Проверка Статуса Выполнения и Устранение Распространённых Ошибок

Если запрос, который мы выполнили и вставили в базу данных MySQL, был успешным, мы увидим следующее сообщение:

Connect Successfully
New record created successfully

Устранение Распространённых Ошибок

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

MySQLi

Если вы столкнулись с ошибкой, работая с MySQLi, причина скорее всего в неправильном синтаксисе. Для примера давайте сделаем одну синтаксическую ошибку в нашем коде. В результате мы увидим что-то вроде этого:

Connect successfully
Error: INSERT INTO students {name, lastname, email} VALUES ('Test', 'Testing', 'Testing@testing.com')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Test', 'Testing', 'Test@testingcom')' at line 1"

Как мы видим, первая часть кода в порядке, подключение было успешно установлено, но с нашим SQL-запросом не всё так гладко.

"Error: INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')' at line 1"

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

$sql = "INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')";

Мы использовали фигурные скобки вместо простых. Поскольку это неправильно, наш скрипт выдал синтаксическую ошибку.

PDO

В строке 7 подключения PDO, режим обработки ошибок установлен в «display all exceptions» (отображать все исключения). Если вы уберёте это из скрипта и запрос потерпит неудачу, вы не получите никакого сообщения об ошибке. Со включёнными исключениями, будут отображаться конкретные возникшие проблемы.

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

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')' at line 1"

Другие проблемы, с которым вы можете столкнуться:

  • Неверно указаны столбцы (несуществующие столбцы или ошибки в написании названий).
  • Несоответствие типа значения типу столбца. Например, когда мы хотим присвоить числовое значение 47 полю Name, мы получим ошибку, потому что предполагается, что значение будет строкой. Но, если вы укажете число в кавычках, например, “47”, ошибки не будет, потому что наше число будет записано как строка в этот столбец.
  • Попытка ввести данные в таблицу, которой не существует или ошибка в написании названия таблицы.

Все эти ошибки могут быть исправлены, следуя руководствам по исправлению ошибок или журнала ошибок (англ.).

В случае успешного добавления, наши данные должны появиться в базе. Вот пример таблицы, в которую мы добавили данные, если смотреть в phpMyAdmin.

Добавление Записи в Таблицу MySQL - Вид Таблицы в phpMyAdmin

Где скачать Denwer, как его установить и запустить?

Можно скачать по отдельности все описанные выше компоненты локального сервера и, поставив их у себя на компьютере, правильно сконфигурировать, но ведь не все способны это сделать. И даже те, кто понимает что к чему, могут испытать массу трудностей при установке и особенно при его конфигурировании.

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

Вам только останется скачать подходящую сборку и установить на него движок вашего проекта (Joomla, WordPress и т.п.), а затем начинать работать на нем, точно так же, как вы бы делали при нахождении файлов движка на физическом хосте. Кстати, как вариант и альтернативу данному решению, можно рассматривать свободный от платы хостинг с поддержкой MySQL и PHP, т.е. способного работать с Joomla и WordPress. Но в этой статье мы будем говорить именно за localhost.

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

Это лично мой выбор, а вы можете пользоваться тем пакетом, который больше понравится вам. Благо, что работа с ними довольно однотипна и, поняв как работать с одной сборкой (сегодня мы будем говорить исключительно о Denwer), вы без труда разберетесь и с любой другой.

Где можно бесплатно скачать сборки локального сервера:

  1. Денвер — скачать бесплатно
  2. Xampp — скачать
  3. VertrigoServ — скачать
  4. Wamp — скачать

Пройдя по ссылке вы должны будете зарегистрироваться в предложенной форме, после чего к вам придет письмо с ссылкой на скачивание дистрибутива Denwer.

Скачать Денвер

Запускаете скачанный файл с расширением exe, соглашаетесь установить пакет, после чего начинается его распаковка, а затем откроется также окно браузера с описанием установки, которое можно сразу закрыть, и еще появляется черное досовское окно с мастером установки:

Мастер установки Денвера

Следуя указаниям мастера для продолжения установки нажимаем «Enter». В следующем окне нам нужно указать, в какую папку на нашем компьютере мы будем устанавливать сервер. Можно выбрать, например, C:\server.

Указываем папку для установки программы

Нажимаете «Enter», на вопрос, точно ли вы хотите установить Денвер именно в эту директорию, вы отвечаете установкой «y» (игрек) и опять жмете «Enter». Далее нас информируют, что сейчас будет создан отдельный виртуальный диск, который необходим для функционирования всех компонентов локального сервера.

Просто жмем «Enter», а в следующем окне выбираем букву для виртуального диска. Эта буква, естественно, не должна в данный момент использоваться вашей системой (т.е. диск, латинскую букву «с», точно не надо выбирать).

Лучше выбрать что-нибудь из последних букв латинского алфавита, например, Z. Если окажется, что эта буква уже используется для обозначения какого-либо диска в вашей операционной системе Windows, то вы увидите сообщение о невозможности создать такой диск.

В этом случае, вам нужно будет нажать «Enter» и повторить шаг с вводом имени директории установки, опять нажать «Enter» и ввести уже другую букву. Какие именно буквы для обозначения дисков в вашем компьютере уже заняты, вы можете посмотреть в «Мой компьютер».

В случае, если выбранная вами буква не занята, вы увидите сообщение об успешном создании виртуального диска.

Начало копирования файлов виртуального сервера

Нажимаете «Enter», в результате чего начнется копирование файлов этой сборки в указанную вами ранее папку компьютера. Далее вам предложат выбрать вариант загрузки, на что вы отвечаете вписыванием единицы и нажатием «Enter». Вас также спросят, создавать ли ярлыки для запуска, остановки или перезагрузки на рабочем столе, на что вы ответите «y».

С помощью этих ярлыков вы сможете запустить или остановить сервер. Мастер установки после этого закроется, а откроется окно браузера со страницей описания последующих шагов работы со сборкой Denwer.

Проверка работоспособности локального сервера

Далее вы переходите на рабочий стол и запускаете Денвер, щелкнув по ярлыку «Start». При этом на короткое время откроется досовское окно говорящее о запуске сервера, а затем в трее (область в правой стороне панели задач Windows, рядом с часами) появятся иконки в виде перышка и черной шляпы, говорящие о том, что он запущен.

Теперь набираете в адресной строке вашего браузера localhost, в результате чего попадете на страницу с надписью «Ура, заработало». Это означает, что сборка удачно установилась на ваш компьютер с Windows. Прокрутив эту страничку вниз, вы увидите ссылки для проверки ее работоспособности:

Ссылки для проверки работоспособности локального сервера Денвер

Если в результате щелчков по этим ссылкам вы увидите страницы с различными сообщениями, то значит все составляющие Denwer работают правильно. Последняя ссылка в этой табличке позволит вам проверить работоспособность отправки почты.

Вы переходите по этой ссылке, затем в открывшемся окне вводите в поле «Текст» какой-нибудь текст (лучше на русском языке — проверить, что с кодировкой будет все в порядке) и нажимаете на кнопку «Послать через mail». Если все сработало правильно, то вы получите сообщение вида: OK, функция mail () сработала корректно. Но нужно так же проверить, что письмо действительно дошло.

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

Z:\tmp\!sendmail\

Кстати, можно заходить и не на виртуальный диск, а на реальный, где у вас установлен локальный сервер (в моем случае это диск С) по тому же пути:

С:\tmp\!sendmail\

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

Настройка и установка Joomla или WordPress на Денвер

Для начала нужно будет зайти в папку, куда вы установили сборку (у меня это c:\server\) и пройти по следующему пути:

c:\server\home\localhost\www\

В этой директории WWW вы должны создать каталог, в который в последствии нужно будет загрузить файлы движка (Joomla, WordPress и т.п.). Название папки придумываете сами, например:

c:\server\home\localhost\www\Proba\

После создания папки перезапустите локальный хост с помощью ярлыка «Restart Denwer» на рабочем столе (если он еще не был запущен, то запустите его). Для проверки его работоспособности введите в адресной строке вашего браузера:

http://localhost/Proba/

Если откроется страница с заголовком «http://localhost/Proba/», то значит все в порядке. Если никакого окна не откроется, то попробуйте еще раз перезагрузить Denwer.

Теперь вам нужно установить движок (Joomla, WordPress и т.п.) точно таким же способом, как вы делали это для реального хостинга (установка Joomla описана тут (в деталях и картинках). Как установить форум SMF я писал здесь, а установка WordPress освещена довольно таки подробно по приведенной ссылке.

Т.е. нужно скопировать файлы движка в созданную на вашем компьютере (он выступает в роли локального хостинга) папку. В моем случае это папка:

c:\server\home\localhost\www\Proba\

От установки движка на реальный хост (что это такое?) этот процесс будет отличаться лишь тем, что для копирования файлов нет нужды использовать FTP-менеджер — вполне сгодится и обычный проводник, ну, или файловый менеджер, на вроде описанного по ссылке Тотал Коммандера.

После того, как вы скопируете файлы Джумлы или Вордпресса в папку Денвера, вам нужно для установки сайта или блога набрать в адресной строке браузера:

http://localhost/Proba/

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

Создание базы данных и пользователя средствами Denwer

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

http://localhost/tools/

В открывшемся окне щелкаете по ссылке под названием «phpmyadmin», в результате чего откроется главная страница этой программы. На ней, в области «Создать новую БД», вы вводите желаемое имя базы данных (для простоты ее можно назвать также как и каталог для сайта в папке localhost, т.е. «Proba», в моем случае) и нажимаете кнопку «Создать».

Теперь возвращаемся на главную страницу phpMyAdmin, щелкнув по иконке домика в левой колонке окна программы. Находите в области « MySQL» ссылку «Привилегии» и щелкаете по ней.

Привилегии в окне phpMyAdmin

На открывшейся странице phpMyAdmin, в центре, вы должны найти пункт «Добавить нового пользователя» и щелкнуть по нему.

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

В области «Имя пользователя» вводим желаемое имя (я для простоты использую опять «Proba»), в области «Хост» вводим localhost, в областях «Пароль» и «Подтверждение» вводим два раза какой-нибудь очень сложный пароль.

В области «Глобальные привилегии» жмете по надписи «Отметить все», чтобы у создаваемого пользователя баз данных были максимальные права.

Задаем новому пользователю максимальные права

Все, база данных и пользователь на Денвере созданы. Теперь вы можете использовать эти данные при установке Joomla, WordPress и др., которая будет идти тем же чередом, что и при установке на реальном хостинге. По завершении этого процесса ваш ресурс будет доступен по адресу:

http://localhost/Proba/

Работать с Joomla или WordPress вы сможете обычным образом, но при этом существенно упрощается и ускоряется работа по редактированию файлов движка, установке и удалению различных расширений, а также появляется возможность работать над своим проектом даже там, где нет доступа в интернет.

Перенос сайта на хостинг

После окончания работы над проектом вы должны перенести сайт с Denwer на хостинг для того, чтобы он стал доступен посетителям из интернета. Делается это точно так же, как если бы вы просто переезжали с одного хостинга на другой или же восстанавливали свой сайт из резервной копии (тут я писал про создание и восстановление из бэкапа).

Для этого вам нужно будет с помощью программы FileZilla (о которой я писал здесь) переместить все файлы из папки локального сервера (в моем случае это папка «Proba») в корневую директорию удаленного хоста (обычно это либо PUBLIC_HTML, либо HTDOCS).

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

Вывод информации

В PHP для вывода информации на экран используется оператор echo. Он позволяет выводить как простой текст, так и HTML-теги.

Пример использования:

// Одинарные кавычки принято использовать для текста
echo 'Просто текст';
// Если нужно вывести дополнительно HTML-теги, 
// то используются двойные кавычки
echo "Обычный текст, но с HTML";

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

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