Всё будет хорошо

Митя Фомин

Теперь доступна инструкция «Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10«. Она заменяет инструкцию, размещённую на этой странице. Инструкцию на этой странице следует считать устаревшей и больше неподдерживаемой (т.е. я больше не буду отвечать на вопросы, возникшие при использовании устаревшего мануала). Пожалуйста, пользуйтесь новым материалом, даже если у вас не Windows 10 (на все версии Windows веб-сервер устанавливается одинаково).

Здесь инструкция для Windows. Если у вас Linux, то вам сюда «Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Linux (LAMP)«.

Локальный сервер необходим любому Web-разработчику. Существует довольно много пакетов «всё в одном», включающих Apache, PHP, MySQL и другие элементы. Можно пользоваться ими, но, например, создатели PHP рекомендуют самостоятельно устанавливать и настраивать все компоненты, это позволяет исключить попадание на ваш компьютер злонамеренного кода. От себя добавлю, что самостоятельная установка и настройка компонентов позволяет использовать самые новые версии программ, не дожидаясь их добавления в пакеты.

Установка сервера включает в себя установку и настройку нескольких элементов:

  • сам сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

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

Кстати, установка производиться на Windows 8.1, но, на самом деле, на других версиях Windows процесс абсолютно ничем не отличается.

Стадии установки:

  1. Подготовительная стадия – скачивание дистрибьютивов.
  2. Выбор структуры сервера.
  3. Установка и настройка Apache.
  4. Установка и настройка MySQL.
  5. Установка и настройка PHP.
  6. Установка и настройка phpMyAdmin.
  7. Использование сервера и бэкап данных.
  8. Дополнительная настройка PHP.
  9. Дополнительная настройка phpMyAdmin.

1. Подготовительная стадия – скачивание дистрибьютивов.

Будем устанавливать самые новые версии программ, скаченные с официальных сайтов.

Начнём мы с PHP и в дальнейшем станет ясно почему. Переходим на страницу скачивания.

Нас интересуют zip-архивы. Первое, что бросается в глаза, это то, что есть 32-битная (x86) и 64-битная (x64) версии. Если у Вас 64-битная версия ОС Windows, то можете выбрать любую из этих версий. Если у вас Windows 32-битная, то можно поставить только 32-битную версию PHP.

Я выбрал 64-битную версию. Хотя она и носит статус «экспериментальная», но никаких проблем со стабильностью или с дополнительными ошибками это не вызывает.

Выбираем версию VC11 x64 Thread Safe (на самом деле, разница для локального сервера между VC11 x64 Thread Safe и VC11 x64 Non Thread Safe несущественна, но с VC11 x64 Non Thread Safe у меня возникали проблемы при настройке сервера).

Важные моменты:

Пока происходит скачивание, смотрим на левую часть страницы и читаем буквально следующее:

1) The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed.

Т.е. для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта MicroSoft. Для этого нужно перейти по ссылке.

Там можно поменять язык (язык влияет только на отображение сайта, а не на скачиваемые файлы) и выбрать файл 64- или 32-битный – точно такой же битности, какой вы хотите установить PHP.

Я выбрал 64-битный, т.е. VSU4vcredist_x64.exe

2) И ещё читаем

Which version do I choose?

Please use the Apache builds provided by Apache Lounge. They also provide VC11 builds of Apache for x86 and x64. We use their binaries to build the Apache SAPIs.

If you are using PHP with Apache 1 or Apache2 from apache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org

Что означает, что современные версии PHP не будут работать с Apache с официального сайта, который скомпилирован на старом компиляторе. Единственный выход для работы новых версий PHP, это Apache с сайта Apache Lounge.

Для скачивания Apache переходим по адресу.

Опять видим 32- и 64-битные версии. Я выбрал 64-битную.

Переходим к скачиванию MySQL. Страница скачивания.

Нас интересуют следующие файлы:

Windows (x86, 64-bit), ZIP Archive

Windows (x86, 32-bit), ZIP Archive

Они различаются битностью, скачиваем подходящий для вашей ОС.

Практически обязательным элементом сервера стал phpMyAdmin, его скачиваем с этой страницы.

При попытке запуска, Apache пожалуется на отсутствие файла MSVCP100.dll и запускаться откажется. Этот файл является частью C++ Redistributable Package 2010, поэтому заблаговременно скачиваем его по ссылке (выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vcredist_x64.exe – точно такое же, как Visual C++ Redistributable for Visual Studio 2012 – тем не менее, это разные файлы.

Итог: мы имеем следующие файлы:

  • php-5.5.15-Win32-VC11-x64.zip
  • httpd-2.4.10-win64-VC11.zip
  • mysql-5.6.20-winx64.zip
  • phpMyAdmin-4.2.7.1-all-languages.zip
  • vcredist_x64.exe – 2 разных файла с одинаковым именем

Запустите и установите файлы vcredist_x64.exe – к ним мы возвращаться больше не будем.

2. Выбор структуры сервера.

Теперь всё готово, можно начинать.

Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server, в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

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

Продолжим наши приготовления. В каталоге data создадим две папки:

  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

3. Установка и настройка Apache.

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.10-win64-VC11.zip), точнее нас интересует только папка Apache24.

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

Меняем

#ServerName www.example.com:80

на

ServerName localhost

меняем

ServerRoot «c:/Apache24»

на

ServerRoot «c:/Server/bin/Apache24»

меняем

DocumentRoot «c:/Apache24/htdocs»

на

DocumentRoot «c:/Server/data/htdocs/»

меняем

<Directory «c:/Apache24/htdocs»>

на

<Directory «c:/Server/data/htdocs/»>

и меняем

DirectoryIndex index.html

на

DirectoryIndex index.html index.php index.htm

Сохраняем и закрываем файл. Всё, настройка Apache завершена!

Переходим в каталог c:ServerbinApache24bin и запускаем httpd.exe

Теперь в браузере набираем https://localhost/ и видим следующее:

Это означает две вещи:

1. Apache работает

2. в каталоге c:Serverdatahtdocs нет ни одного файла.

Можете поиграться — добавить в каталог любые html-файлы — полноценный сервер работает.

Но, на самом деле, хотя Apache работает в данный момент, он ещё не установлен. Т.е. при закрытии консольного окна, служба Apache остановится. Чтобы этого не произошло необходимо провести установку.

Нам нужно открыть Командную строку в режиме администратора. Для этого:

1. Нажмите кнопку Пуск.

2. В поле поиска введите «командная строка».

3. В списке результатов щелкните правой кнопкой «Командная строка» и выберите команду «Запуск от имени администратора».  Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.

В открывшееся досовское окно копируем:

c:ServerbinApache24binhttpd.exe -k install

Нажимаем [Enter]

Всё, вот теперь Apache окончательно установлен и будет работать при последующих перезагрузках.

Откройте ApacheMonitor.exe и выберете там “старт”

4. Установка и настройка MySQL.

В каталог bin распаковываем файлы MySQL (из архива mysql-5.6.20-winx64.zip). Переименовываем папку mysql-5.6.20-winx64.zip в mysql-5.6 (для краткости).

Кстати, распакованная папка mysql-5.6 занимает более гигабайта!

Заходим в эту папку и переименовываем файл my-default.ini в my.ini Теперь открываем этот файл любым текстовым редактором.

Нам нужно сделать только одно, добавить строчку

datadir=»c:/Server/data/DB/data/»

В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).

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

«c:Serverbinmysql-5.6binmysqld» –install

Нажимаем [Enter]

Теперь служба MySQL будет запускаться при каждом запуске Windows, но в данный момент она ещё не запущена. Чтобы это сделать, в командной строке нужно набрать

net start mysql

или просто перезагрузить компьютер.

5. Установка и настройка PHP.

В папке c:Serverbin создаём каталог PHP и копируем в него содержимое архива php-5.5.15-Win32-VC11-x64.zip

В файле c:ServerbinApache24confhttpd.conf в самый конец добавляем строчки

PHPIniDir «C:/Server/bin/PHP»

AddHandler application/x-httpd-php .php

LoadModule php5_module «C:/Server/bin/PHP/php5apache2_4.dll»

И перезапускаем Apache

В каталоге c:Serverdatahtdocs создаём файл с названием i.php

Копируем в этот файл:

<?php

phpinfo ();

?>

В браузере откройте ссылку https://localhost/i.php. Если вы видите тоже самое, что на картинке, значит PHP работает.

Настройка PHP

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

Открываем файл php.ini любым текстовым редактором, ищем строчку

; extension_dir = «ext»

и заменяем её на

extension_dir=»C:ServerbinPHPext»

т.е. мы разкоментировали строку  (убрали точку с запятой в начале)

Теперь разкомментируем целую группу строк:

;extension=php_bz2.dll

;extension=php_curl.dll

;extension=php_fileinfo.dll

;extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_gmp.dll

;extension=php_intl.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_ldap.dll

;extension=php_mbstring.dll

;extension=php_exif.dll      ; Must be after mbstring as it depends on it

;extension=php_mysql.dll

;extension=php_mysqli.dll

;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client

;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

;extension=php_openssl.dll

;extension=php_pdo_firebird.dll

;extension=php_pdo_mysql.dll

;extension=php_pdo_oci.dll

;extension=php_pdo_odbc.dll

;extension=php_pdo_pgsql.dll

;extension=php_pdo_sqlite.dll

;extension=php_pgsql.dll

;extension=php_pspell.dll

;extension=php_shmop.dll

т.е. должно получиться:

extension=php_bz2.dll

extension=php_curl.dll

extension=php_fileinfo.dll

extension=php_gd2.dll

extension=php_gettext.dll

extension=php_gmp.dll

extension=php_intl.dll

extension=php_imap.dll

extension=php_interbase.dll

extension=php_ldap.dll

extension=php_mbstring.dll

extension=php_exif.dll      ; Must be after mbstring as it depends on it

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client

extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

extension=php_openssl.dll

extension=php_pdo_firebird.dll

extension=php_pdo_mysql.dll

extension=php_pdo_oci.dll

extension=php_pdo_odbc.dll

extension=php_pdo_pgsql.dll

extension=php_pdo_sqlite.dll

extension=php_pgsql.dll

extension=php_pspell.dll

extension=php_shmop.dll

проделам то же самое с ещё одной группой:

;extension=php_soap.dll

;extension=php_sockets.dll

;extension=php_sqlite3.dll

;extension=php_sybase_ct.dll

;extension=php_tidy.dll

;extension=php_xmlrpc.dll

;extension=php_xsl.dll

должно получиться:

extension=php_soap.dll

extension=php_sockets.dll

extension=php_sqlite3.dll

extension=php_sybase_ct.dll

extension=php_tidy.dll

extension=php_xmlrpc.dll

extension=php_xsl.dll

Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.

6. Установка и настройка phpMyAdmin.

В каталог c:Serverdatahtdocs копируем содержимое архива phpMyAdmin-4.2.7.1-all-languages.zip. Переименовываем phpMyAdmin-4.2.7.1-all-languages в phpmyadmin (для лаконичности)

В каталоге c:Serverdatahtdocsphpmyadmin создаём папку config. В браузере открываем адрес https://localhost/phpmyadmin/setup.

На вкладке “Обзор” нажимаем кнопку “Новый сервер”. На вкладке “Параметры сервера” ставим галочку в одном единственном пункте “Разрешать подключения без пароля” и нажимаем “Сохранить”

Происходит переход на вкладку “Обзор”, там ещё раз нажимаем «Сохранить».

Теперь из каталога c:Serverdatahtdocsphpmyadminconfig файл config.inc.php перемещаем в каталог c:Serverdatahtdocsphpmyadmin

Каталог config удаляем!

В браузере набираем https://localhost/phpmyadmin/

В качестве имя пользователя вводим root. Поле пароля оставляем пустым.

Если всё сделано правильно, то всё должно выглядеть так:

7. Использование сервера и бэкап данных.

В каталоге c:Serverdatahtdocs создавайте папки и файлы, например

c:Serverdatahtdocstestajax.php – этот файл, соответственно, будет доступен по адресу

https://localhost/test/ajax.php и т.д.

Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог data.

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

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

c:ServerbinApache24confhttpd.conf

c:Serverbinmysql-5.6my.ini

c:ServerbinPHPphp.ini

c:ServerdatahtdocsphpMyAdminconfig.inc.php

В них и хранятся все настройки.

8. Дополнительная настройка PHP.

PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:ServerbinPHPphp.ini) Рассмотрим некоторые из них:

memory_limit = 128M

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

post_max_size = 8M

устанавливает максимальное количество данных, которые будут приняты при отправке методом POST

;default_charset = «UTF-8»

устанавливает кодировку (по умолчанию, строка закомментирована)

upload_max_filesize = 2M

максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер – только два мегабайта. Например, при загрузки базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.

max_file_uploads = 20

максимальное количество файлов для загрузки за один раз

max_execution_time = 30

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

Менять эти настройки совершенно необязательно, но полезно о них знать.

9. Дополнительная настройка phpMyAdmin.

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

«Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».

Новыми возможностями являются:

  • показ связей между (связанными) таблицами;
  • добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
  • создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
  • отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
  • создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
  • история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
  • дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
  • информация о недавно использованных таблицах;
  • настройка интерфейса часто используемых таблиц;
  • слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд.  После включения, вы сможете делать версии таблиц);
  • пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
  • настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
  • спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).

Сейчас мы настроим эти дополнительные возможности в полной мере. Откройте phpMyAdmin и нажмите кнопку «Импорт». На открывшейся вкладке нажмите кнопку «Выберите файл».

В открывшееся окно браузера скопируйте строчку:

c:ServerdatahtdocsphpMyAdminexamplescreate_tables.sql

(т.е. мы выбрали файл create_tables.sql, находящийся в каталоге c:ServerdatahtdocsphpMyAdminexamples)

На страничке phpMyAdmin нажмите «ОК».

После успешного завершения импорта должна появиться новая база данных с названием phpmyadmin.

Перейдите на вкладку «Пользователи».

Нажмите «Добавить пользователя». В поле «Имя пользователя:» впишите pma

Вставьте какой-нибудь пароль, я использую простой пароль – цифра 1 (это локалхост!). В привилегиях менять ничего не надо, нажмите «ОК». Мы автоматически переходим на страничку со списком пользователей, где уже есть pma

Нажмите на «Редактирование привилегий» для данного пользователя. Найдите «Привилегии уровня базы данных». И в пункте «Добавить привилегии на следующую базу данных:» выберите базу данных с именем «phpmyadmin». На новой страничке во вкладке «Привилегии уровня базы данных» нажмите «Отметить все» и нажмите «ОК».

Открываем любым текстовым редактором файл config.inc.php (в директории c:ServerdatahtdocsphpMyAdmin) и добавьте туда следующие строчки.

Замечания:

  • в первой строчке пароль замените на свой, который вы вводили, когда создавали пользователя
  • строки можно вставлять в любое место в файле, главное, чтобы после $i++; и до символов ?>

$cfg[‘Servers’][$i][‘controlpass’] = ‘1‘;

/* Storage database and tables */

$cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;

$cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;

$cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;

$cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;

$cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;

$cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;

$cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;

$cfg[‘Servers’][$i][‘history’] = ‘pma__history’;

$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;

$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;

$cfg[‘Servers’][$i][‘designer_coords’] = ‘pma__designer_coords’;

$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;

$cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;

$cfg[‘Servers’][$i][‘users’] = ‘pma__users’;

$cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;

$cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;

$cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;

Сохраняете файл. Выходите из phpMyAdmin – именно нажимаете кнопку «Выход» и логинитесь заново, а не просто открываете-закрываете страничку.

Несколько скриншотов новых функций:

1) Дизайнер

2) Слежение


Следующим шагом, после настройки и тестирования сайта на локалхосте, является выбор качественного и дешёвого интернет хостинга. Я перебрал довольно много решений и нашёл очень хороший вариант — 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен — 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это здесь.

Кстати, а ведь как здорово иметь собственное доменное имя! Хотя бы для того, чтобы сделать для себя красивый почтовый ящик, вместо чего-нибудь вроде vovan_pupkin_murom1995@mail.ru. Вот здесь можно найти свой собственный домен. Например, я получил бесплатно домен codeby.net, я могу делать почтовые ящики: admin@codeby.net, alex@codeby.net, al@codeby.net и так далее — количество ящиков ничем не ограничено!

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

Похожие темы

Решение проблемы с работой модуля cURL на PHP 5.6.... Те, кто использует cURL, после обновлений на 5.6.1, 5.5.17 столкнулись с тем, что модуль cURL перестал работать. Проблема с тех пор не исчезла. Даже...
Установка и настройка Apache, PHP, MySQL, phpMyAdm... Если вас интересует, как установить сервер на Windows, то вам сюда "Установка Apache, PHP, MySQL, phpMyAdmin на Windows". Сразу скажу, это будет очен...
Выход Apache 2.4.12 Если вы разворачиваете веб-сервер Apache на Windows и используете свежие версии PHP то, думаю, вы знаете, что не получится использовать Apache с офи...
Как проверить тип системы хранения MySQL на Linux ... Узнать тип системы хранения MySQL на Linux Используются две основные системы хранения MySQL: MyISAM и Innodb. MyISAM является не транзакционной,...
PHPclasses – новые готовые решения каждый день для... Сегодня, не выходя за пределы PHP, мы с вами познакомимся с готовыми решениями для шифрования, распознавания лиц, работы с APK файлами, научимся созда...