Open Server, создание домена, базы данных и простого приложения на php

Open Server, создание домена, базы данных и простого приложения на php

В этом посте я опишу, настройку домена, создание базы данных, и простого скрипта с использованием Open Server - платформы WAMP для веб разработчика. Итак поехали..

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

По-умолчанию путь этой директории: C:\Progr\OpenServer\domains\

Папка с доменами

Те кто работал до этого на Denwer-e не должны испытать трудностей с пониманием структуры. Тем кто не работал объясню: это корневая папка, в которой хранятся другие папки, название которых совпадает с именем домена по которому мы будем заходить.

Например, сразу после установки Open Server, мы можем зайти по адресу http://localhost

Проверка работы Open Server-а

Так вот, скрипты которые запустятся, находятся именно в папке: C:\Progr\OpenServer\domains\localhost\

Папка со скриптами домена localhost

Теперь мы хотим создать домен http://itrem, так же хотим создать базу itrem, подключиться к ней и выполнить какие-нибудь SQL команды.

а) Создаем папку C:\Progr\OpenServer\domains\itrem\, она будет являться нашим доменом, т.е. http://itrem

Добавляем папку itrem

б) В ней создаем файл index.php открываем его в редакторе, например в Notepad++, который можно запустить из контекстного меню Open Server-а, раздела "Офис"

и пишем в нем следующий, проверочный код

Создаем index файл в папке домена

в) Перезапускаем сервер

Перезапуск Open Server-а

в случае успешного запуска, в разделе "Мои сайты", вы увидите наш сайт itrem

Список доступных доменов

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

г) Проверяем работу сайта в браузере, заходим по адресу: http://itrem

Проверка работы домена itrem в браузере

Обратите внимание, что в некоторых браузерах (например Chrome) необходимо задавать адрес включая название протокола ( т.е. http://itrem, а не itrem) иначе он просто перекинет вас на поиск гугла, с именем домена в качестве ключевого слова.

д) Входим в phpmyadmin.

Он находится по адресу: http://localhost/openserver/phpmyadmin/index.php (так же он доступен из контекстного меню OpenServer-а, пункт "Дополнительно>PhpMyAdmin")

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

  • пользователь/пароль = root / -пустой пароль-
  • пользователь/пароль = mysql / mysql

Можно использовать оба варианта, но я бы рекомендовал второй, а именно mysql/mysql, т.к. для супер пользователя не применяются некоторые настроенные конфиги, например не устанавливается автоматически кодировка соединения с базой, поэтому при его использовании нужно дополнительно, в скриптах писать, что-то типа: mysql_query('SET NAMES "utf8"') либо использовать php функцию: mysql_set_charset('utf8').

Связанно это с тем, что суперпользователям не устанавливается кодировка, через параметр init-connect, который обычно прописывается в секции [mysqld], конфигурационного файла my.cnf (подробнее тут: 10.1.5. Configuring the Character Set and Collation for Applications). В данный момент именно так настроен OpenServer.

Так же, я писал пост, про то, как убрать авторизацию на совсем, пост тут: Openserver, phpmyadmin автовход

е) Создаем базу itrem

Создаем таблицу в phpMyAdmin

ж) Создаем таблицу messages

Создаем таблицу messages

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

Создание структуры таблицы messages

нажимаем Сохранить.

Если Вам проще будет выполнить SQL код (на вкладке SQL) можете просто его скопировать отсюда:

ж) пишем такой код, в файл C:\Progr\OpenServer\domains\itrem\index.php

Внимание: Код написанный ниже не будет работать на версиях PHP 7.0+, т.к. в этих версиях удалена поддержка семейства функций mysql_*. Для корректной работы, либо поставьте в настройках OpenServer-а версию PHP < 5.5, либо используйте код из этой статьи "Пример создания простого приложения на php и mysql 2018", где я рассказал, как работать с базой данных еще проще (не надо писать запросы), используя ORM Idiorm.

Обратите внимание на кодировку файла, она должна быть "UTF-8 без BOM", проверить в Notepad++ это можно в верхнем меню, в разделе "Кодировки". При создании этого поста, я попался в эту ловушку, и долго не мог понять в чем проблема, подробнее тут: Openserver, MySQL, Notepad++ и пропадающая кириллица

Лучше использовать MySQLi, но в большинстве учебников пишут про работу именно с старыми MySQL функциями, поэтому тут используем именно такой код. Ознакомиться с MySQLi после изучения MySQL функций, можно, например тут: MySQLi раскладываем все по полочкам. У кого будет желание, перепишите этот скрипт на MySQLi, выложите на pastebin и пришлите мне ссылочку в комментарии - добавлю в пост с указанием вашего авторства :).

з) проверяем в браузере

Тестовый скрипт в браузере

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

--[добавлено 10.02.2014 ]--

Записал небольшое видео к данному уроку, смотреть "на весь экран":

--[добавлено 03.08.2016 ]--

Добавил пост с скриншотами всех вкладок одной из последних версия Openserver: Список вкладок Openserver

--[добавлено 04.07.2018]--

Ввиду того, что семейство функций mysql_* устарело, написал новый пост "Пример создания простого приложения на php и mysql 2018", там рассказал, как работать с базой данных еще проще (не надо писать запросы), используя ORM Idiorm.

Похожие статьи

281 комментарий

У меня после всех манипуляций Open Server выдаёт в браузере:

( ! ) Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\OSPanel\domains\itrem\index.php on line 10 ( ! ) Error: Call to undefined function mysql_connect() in C:\OSPanel\domains\itrem\index.php on line 10 Call Stack # Time Memory Function Location 1 0.1060 358000 ( ) . \index.php:0 Dump $_SERVER $_SERVER['REMOTE_ADDR'] = string '127.0.0.1' (length=9) $_SERVER['REQUEST_METHOD'] = string 'GET' (length=3) Dump $_SESSION $_SESSION['*'] = undefined Dump $_REQUEST

И всё! Что не верно?

Отвечу тут, но у тебя сильно специфичная ситуация, поэтому лучше создай отдельную ветку на форуме .

1) Если под пользователем сайта, ты понимаешь пользователя который может войти на сайт через site.com/wp-admin, то всего скорее просто кто-то зарегистрировался. Удалить лишние учетки ты можешь через админку WP, раздел "Пользователи". Если ты имеешь ввиду пользователя которому принадлежат файлы сайта (обычно имя для входа в админку совпадает с этим пользователем), то это не относится к веб-серверу, а относится к операционной системе. Чтобы найти его в Windows надо зайти в свойства файла, затем на вкладку "Безопасность", там кнопка "Дополнительно" и там будет пункт "Владелец" (для созданных тобой файлов совпадает с именем входа в систему).

2) Для того, чтобы WP обновлялся, надо зайти в админке WP в раздел "Консоль > Обновления" и там нажать кнопку "Проверить снова". Ниже этой кнопки будет надпись, что-то типа "Доступно обновление" или "У Вас свежая копия WP"

Если останутся вопросы, пиши на форум, в отдельную ветку, твоя проблема всего скорее не относится к OpenServer.

Добрый вечер! Помогите, пож-та, понять в чем проблема. В браузере почему-то не выполняются команды, которые задаются в редакторе, т.е. надпись 'Hello world", и другие команды, как в вашем примере отображается так: >?php //phpinfo(); echo ' Hello,world!

'; echo print ' Hello!

' echo 'Здравствуйте!'; /* Многострочный комментарий */

Пробовала переключать ctrl+U - выводится код страницы, как в редакторе, может это тоже какой-то "режим". Операции (сложения/вычитание и прочее) тоже не выполняет, просто выводит, как в редакторе, только за исключением html кодов, таких как , . Их выполняет. Не могу найти нигде решение этой проблемы.

📎📎📎📎📎📎📎📎📎📎