Всё будет хорошо
Митя Фомин
Теперь доступна инструкция "Установка и настройка сервера 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 процесс абсолютно ничем не отличается.
Стадии установки:
- Подготовительная стадия – скачивание дистрибьютивов.
- Выбор структуры сервера.
- Установка и настройка Apache.
- Установка и настройка MySQL.
- Установка и настройка PHP.
- Установка и настройка phpMyAdmin.
- Использование сервера и бэкап данных.
- Дополнительная настройка PHP.
- Дополнительная настройка 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-битный, т.е. VSU4\vcredist_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 – к ним мы возвращаться больше не будем.
Теперь всё готово, можно начинать.
Несколько слов о структуре нашего сервера.
На диске 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:\Server\bin\Apache24\conf\ и открываем файл 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:\Server\bin\Apache24\bin\ и запускаем httpd.exe
Теперь в браузере набираем http://localhost/ и видим следующее:
Это означает две вещи:
1. Apache работает
2. в каталоге c:\Server\data\htdocs\ нет ни одного файла.
Можете поиграться — добавить в каталог любые html-файлы — полноценный сервер работает.
Но, на самом деле, хотя Apache работает в данный момент, он ещё не установлен. Т.е. при закрытии консольного окна, служба Apache остановится. Чтобы этого не произошло необходимо провести установку.
Нам нужно открыть Командную строку в режиме администратора. Для этого:
1. Нажмите кнопку Пуск.
2. В поле поиска введите "командная строка".
3. В списке результатов щелкните правой кнопкой "Командная строка" и выберите команду "Запуск от имени администратора". Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.
В открывшееся досовское окно копируем:
c:\Server\bin\Apache24\bin\httpd.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:\Server\bin\mysql-5.6\ есть директория data, всю эту папку нужно переместить в каталог c:\Server\data\DB\ (иначе служба MySQL не запустится из-за ошибки).
Настройка завершена, но нужно ещё выполнить установку, для этого открываем командную строку от имени администратора и копируем туда
"c:\Server\bin\mysql-5.6\bin\mysqld" –install
Нажимаем [Enter]
Теперь служба MySQL будет запускаться при каждом запуске Windows, но в данный момент она ещё не запущена. Чтобы это сделать, в командной строке нужно набрать
net start mysql
или просто перезагрузить компьютер.
В папке c:\Server\bin\ создаём каталог PHP и копируем в него содержимое архива php-5.5.15-Win32-VC11-x64.zip
В файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"
И перезапускаем Apache
В каталоге c:\Server\data\htdocs\ создаём файл с названием i.php
Копируем в этот файл:
<?php
phpinfo ();
?>
В браузере откройте ссылку http://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:\Server\bin\PHP\ext"
т.е. мы разкоментировали строку (убрали точку с запятой в начале)
Теперь разкомментируем целую группу строк:
;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:\Server\data\htdocs\ копируем содержимое архива phpMyAdmin-4.2.7.1-all-languages.zip. Переименовываем phpMyAdmin-4.2.7.1-all-languages в phpmyadmin (для лаконичности)
В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём папку config. В браузере открываем адрес http://localhost/phpmyadmin/setup.
На вкладке “Обзор” нажимаем кнопку “Новый сервер”. На вкладке “Параметры сервера” ставим галочку в одном единственном пункте “Разрешать подключения без пароля” и нажимаем “Сохранить”
Происходит переход на вкладку “Обзор”, там ещё раз нажимаем «Сохранить».
Теперь из каталога c:\Server\data\htdocs\phpmyadmin\config\ файл config.inc.php перемещаем в каталог c:\Server\data\htdocs\phpmyadmin\
Каталог config удаляем!
В браузере набираем http://localhost/phpmyadmin/
В качестве имя пользователя вводим root. Поле пароля оставляем пустым.
Если всё сделано правильно, то всё должно выглядеть так:
7. Использование сервера и бэкап данных.
В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например
c:\Server\data\htdocs\test\ajax.php – этот файл, соответственно, будет доступен по адресу
http://localhost/test/ajax.php и т.д.
Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог data.
Перед обновлением модулей, делайте бэкап папки bin – в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.
При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
c:\Server\bin\Apache24\conf\httpd.conf
c:\Server\bin\mysql-5.6\my.ini
c:\Server\bin\PHP\php.ini
c:\Server\data\htdocs\phpMyAdmin\config.inc.php
В них и хранятся все настройки.
8. Дополнительная настройка PHP.
PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.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:\Server\data\htdocs\phpMyAdmin\examples\create_tables.sql
(т.е. мы выбрали файл create_tables.sql, находящийся в каталоге c:\Server\data\htdocs\phpMyAdmin\examples\)
На страничке phpMyAdmin нажмите «ОК».
После успешного завершения импорта должна появиться новая база данных с названием phpmyadmin.
Перейдите на вкладку «Пользователи».
Нажмите «Добавить пользователя». В поле «Имя пользователя:» впишите pma
Вставьте какой-нибудь пароль, я использую простой пароль – цифра 1 (это локалхост!). В привилегиях менять ничего не надо, нажмите «ОК». Мы автоматически переходим на страничку со списком пользователей, где уже есть pma
Нажмите на «Редактирование привилегий» для данного пользователя. Найдите «Привилегии уровня базы данных». И в пункте «Добавить привилегии на следующую базу данных:» выберите базу данных с именем «phpmyadmin». На новой страничке во вкладке «Привилегии уровня базы данных» нажмите «Отметить все» и нажмите «ОК».
Открываем любым текстовым редактором файл config.inc.php (в директории c:\Server\data\htdocs\phpMyAdmin) и добавьте туда следующие строчки.
Замечания:
- в первой строчке пароль замените на свой, который вы вводили, когда создавали пользователя
- строки можно вставлять в любое место в файле, главное, чтобы после $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. Вот здесь можно найти свой собственный домен. Например, я получил бесплатно домен webware.biz, я могу делать почтовые ящики: admin@webware.biz, alex@webware.biz, al@webware.biz и так далее — количество ящиков ничем не ограничено!
Посмотрите, я уверен, это предложение заинтересует любого администратора сайта (хоть начинающего, хоть продвинутого), поскольку это хостинг с настоящим качеством от профессионалов. Кстати, у меня есть промокод, дающий бесплатный месяц, если хотите, можете воспользоваться.
Поделитесь этой статьёй с друзьями, если хотите выхода новых статей:
- Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin (100%)
- Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10 (100%)
- MiAl’s Server Pack (полностью настроенный и рабочий сервер Apache + MySQL + PHP + phpMyAdmin - WAMP) (v. 0.3.1) (89.9%)
- Графический интерфейс для веб-сервера Apache — ApacheGUI (инструкция по установке и использованию) (82.9%)
- Обновление сервера Apache и его компонентов (77.6%)
- Новости софта от 20 октября 2014 года (Apache, jQuery) (RANDOM - 52.5%)
Теперь доступна инструкция "Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10". Она заменяет инструкцию, размещённую на этой странице. Инструкцию на этой странице следует считать устаревшей и больше неподдерживаемой (т.е. я больше не буду отвечать на вопросы, возникшие при использовании устаревшего мануала. Пожалуйста, пользуйтесь новым материалом, даже если у вас не Windows 10 (на все версии Windows веб-сервер устанавливается одинаково).
Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin — крайне рекомендуется к прочтение перед тем, как задать вопрос о своей проблеме.
Если у кого-то так и не получилось, посмотрите здесь: http://webware.biz/?p=30
А также рекомендуется к прочтению статья "Как установить ModSecurity (mod_security) на Apache".
Если у вас возник вопрос, крайне настоятельно рекомендую задать его в нашем с вами форуме, в специализированной ветке http://freeforum.biz/index.php?topic=2.0. Здесь только один человек следит за вашими новыми сообщениями и отвечает на них. На форуме же в вашем распоряжении помощь всей общественности.
Чтобы разобраться в ситуации, мне нужны ответы на следующие уточняющие вопросы-рекомендации:
1) есть ли в корневой директории (C:\Server\data\htdocs\) или в каталоге phpMyAdmin файл .htacess? Если есть, то, скорее всего, проблема в том, что Вы туда записали.
2) Вносились ли изменения в исходный код phpMyAdmin? Пробовали ли Вы устанавливать новую "чистую" версию с сайта?
3) Попробуйте открывать phpMyAdmin в других браузерах, попробуйте почистить кукиз и кеш браузера.
4) Посмотрите файл C:\Windows\System32\Drivers\etc\hosts , даже если Вы этот файл не трогали, вирусы могли внести в него изменение.
5) Самый главный вопрос — это (циклическая переадресация) присутствует только при открытии phpMyAdmin? Другие страницы на Вашем сервере открываются нормально?
6) Попробуйте переименовать каталог pma (дайте ему любое другое название, чтобы там не встречалась эта последовательность "pma", например, сделайте имя "phpMyAdmin" или первоначальное "phpMyAdmin-4.2.8-all-languages".
7) На самом деле, проблема может быть вызвана даже несовместимостью со сторонними программами, которые, казалось бы, никакого отношения к серверу не имеют (например, настольная версия яндекс.кошелька активно обращалась к адресу 127.0.0.1) — попробуйте вспомнить, какие новые программы устанавливали в то самое время, когда началась эта проблема.
1) Этот файл есть только в корневой директории (C:\Server\data\htdocs\) и он принадлежит установленной CMS. Его содержимое не влияет на ситуацию, потому что, даже при полностью пустой директории (остается только папка pma), возникает, описанная мной проблема.
В папке с phpMyAdmin такого файла нет и, насколько я знаю, по умолчанию не должно быть.
2) Изменения в исходный код не вносились. Был только создан файл config.inc.php, согласно вашей инструкции.
3) Куки чистил. Открывал в разных браузерах. Проблема остается.
4) В файле hosts все нормально:
127.0.0.1 localhost
::1 localhost
127.0.0.1 rad.msn.com # Это строчка убирает рекламу в Skype. Ее отсутствие не решает проблему.
5) Другие страницы открываются нормально. Причем, если перейти по адресу: http://localhost/pma/index.php, то проблема не возникает. Проблема только при обращении к каталогу.
6) При переименовании проблема остается.
7) Устанавливался WebMoney Keeper Classic 3.9.9.1, его удаление не помогает. Также, был установлен клиент Bitcoin, удаление которого, тоже не помогает.
К тому же, в дополнение к своей проблеме, могу сказать, что сейчас, даже после перезагрузки компьютера, возникает такая переадресация.
Владимир, я бы заострил внимание на файле .htacess, который находится в корневой директории. У меня возникали ситуации, что действие этого файла не прекращалось, если его просто убрать из каталога (однотипные запросы кешировал то ли браузер, то ли сервер). Т.е. попробуйте его убрать и перезагрузите компьютер.
Да, действительно, после удаления файла .htaccess и перезагрузки компьютера все заработало. Но этот файл нужен для работы CMS.
Вот его содержимое: http://code.re/6cF .
Посмотрите, что может быть не так?
Владимир, регулярные выражения — это моё слабое место, но попробую.
Всё дело вот в этих строчках
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} (.*)
RewriteRule (.+)[^/] %1/ [R=301,L]
Эти строки ко всем запросам каталогов добавляются слеши. В комментарии к этим строкам сказано, что они борются с неким багом mod_rewrite's trailing slash. Я погуглил, но ничего внятного про этот баг не нашёл, кроме того, что ему 10 лет. У меня есть подозрения, что этот баг давно пофиксили и можно попробовать закомментировать эти строки.
Без этих строчек, при переходе по ссылке: localhost/pma/, происходит переход на страницу 404, самой CMS.
Попробую написать автору CMS.
Короче, если кому будет интересно. Блоговый движок Эгея (http://blogengine.ru/) не воспринимает в корневой директории посторонние папки. На реальном хостинге PMA обычно находится в другой директории, поэтому все работает.
Добавляю http://localhost/phpmyadmin/setup/
вместо панели управления вижу код:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Front controller for setup script
*
* @package PhpMyAdmin-Setup
* @license http://www.gnu.org/licenses/gpl.html GNU GPL 2.0
*/
/**
* Core libraries.
*/
require './lib/common.inc.php';
$page = filter_input(INPUT_GET, 'page');
$page = preg_replace('/[^a-z]/', '', $page);
if ($page === '') {
$page = 'index';
}
if (!file_exists("./setup/frames/$page.inc.php")) {
// it will happen only when entering URL by hand, we don't care for these cases
PMA_fatalError(__('Wrong GET file attribute value'));
}
и т.д.
Без вопроса пост воспринимается как претензия ))
Сервер Apache работает без PHP
Виноват. Перезапустил и обновил браузер все получилось
Еще пишет:
Используемый скриптом настройки каталог config все ещё находится в установочной директории phpMyAdmin. Обязательно удалите его сразу после настройки phpMyAdmin. В ином случае безопасность вашего сервера может быть скомпрометирована через свободный доступ к загрузке конфигурационного файла.
В чем дело?
«Каталог config удаляем!» — это из статьи, там красным выделено.
Посмотрите повнимательнее http://webware.biz/?p=10#6
У меня вопрос. Можно ли установить PMA в какую-нибудь другую директорию? И если да, то как?
Может быть мой вопрос глупый, но цель именно в том, чтобы CMS была в корневой директории? Ведь в каталоге C:\Server\data\htdocs\ можно наделать уйму папок (например CMS, PMA) и все они будут доступны по адресам:
http://localhost/CMS
http://localhost/PMA
и т.д.
И ещё один уточняющий вопрос — Вы это делаете на локалхосте? На хостингах, как правило, настроены автоматические поддомены и можно создать, например, папки PMA, CMS и они будут доступны по адресам, например:
http://PMA.webware.biz/
http://CMS.webware.biz/
Кстати, так можно сделать и на локалхосте.
Прекрасно. Это было бы даже лучше, потому что иногда в разработке несколько разных проектов. Тогда вопрос, как сделать поддомены?
Владимир, нужно настраивать виртуальные хосты, вот одна из немногих вменяемых инструкций (или поищите в гугле по фразе "настройка виртуальных хостов в apache"). Честно сказать, я сам с этим никогда не заморачивался — на локалхосте всё лежит по папкам и меня прекрасно устраивает доступ вида
http://localhost/PMA
А в реальных условиях (на хостинге) всё решается созданием новой папки — это у меня и вызывало ложное чувство простоты реализации.
Ещё вот здесь инструкция, после который человек радуется, что у него "всё сразу получилось" )))
И моя собственная инструкция, основанная на моём опыте: Настройка поддоменов на локальном сервере (locahost’е) и на хостинге.
Спасибо большое! Действительно, все просто. Пока работает.
Привет. Я устанавливал себе mysql по вашей статье и возникла ошибка 1067. Что мне делать?
MIKE, всё очень просто. Внимательней читайте инструкцию! Любые ошибки возникают только если хоть в чём-то отойти от мануала. Вы пропустили это:
В каталоге c:\Server\bin\mysql-5.6\ есть директория data, всю эту папку нужно переместить в каталог c:\Server\data\DB\ (иначе служба MySQL не запустится из-за ошибки).
Большое спасибо)
ALEXEY, у меня как раз наоборот было.\\ Перенес сюда c:/Server/data/DB/data/ папку data, перезагружался дважды и все равно ошибка 1067. Как только перенес обратно в mysql, все заработало!
Но возникла другая проблема: при установке myphpadmin перехожу на http://localhost/phpmyadmin/setup/, и выпадает известная Fatal error: Call to undefined function mb_detect_encoding() in C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177
При этом в php.ini в строке extension=php_mbstring.dll ТОЧКА С ЗАПЯТОЙ УБРАНА! На весь интернет не нашел ни одного решения, может быть вы подскажете, в чем дело? Апач и php по инструкции ставил, в SQL был вынужден не перемещать data, и всё у меня работает. Сомневаюсь, что ошибка из-за этого
Валентин, значит либо не внесены изменения в конфигурационный файл MySQL, либо этот файл не "подхватывается" по другим причинам и MySQL использует значения по умолчанию.
Тогда логично спросить, по каким причинам файл может "не подхватываться"?
и какие поправки внести в конфигурационный файл? на что обратить внимание?
Спасибо за статью все понятно. Хочу добавить, что для того чтобы заработала поддержка cURL пришлость добавить в переменную PATH: C:\Server\bin\PHP
АРТЁМ, спасибо Вам за дополнение. И за благодарность — мне очень приятно. Ведь большинство читателей, даже если у них всё получилось, не находят минутки написать об этом.
Доброго времени суток!
Столкнулся с проблемой при установке phpMyAdmin.
При переходе на страницу http://localhost/phpmyadmin/setup/
Выползает даннаяошибка, кроме нее ничего нету:
Fatal error: Call to undefined function __() in C:\Server\data\htdocs\phpmyadmin\libraries\core.lib.php on line 229
Если есть возможность, объясните как это поправить и из-за чего это происходит
ЕВГЕНИЙ, судя по всему проблема именно в phpMyAdmin. Последний чейндж лог:
Здесь описание бага: http://sourceforge.net/p/phpmyadmin/bugs/4557/
А здесь чейндж лог, из которого я скопировал https://github.com/phpmyadmin/phpmyadmin/commit/e28912d49e50071cba9632047ed3704f57d4c652
Попробуйте обновиться до последней версии phpMyAdmin 4.2.10.1.
Ну а если у Вас и так уже самая свежая версия, или переход на 4.2.10.1 не помог, то наоборот, скачайте предыдущую 4.2.9
Алексей,я поставил phpMyAdmin 4.2.9, но у него теперь другая ошибка:
Fatal error: Call to undefined function mb_detect_encoding() in C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177
Я как раз сегодня написал "Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin".
Ваша ошибка там идёт самой первой.
Хах, вот до этого я недогнал, нужно было просто перезапустить сервер)
Спасибо)
Буду пилить дальше)
Я очень рад, что всё разрешилось. ))
Удачи Вам в этом интересном занятии — установке локального сервера.
Заходите почаще на WebWare.biz здесь каждый день появляется много интересного — в том числе и для "прокачики" локалхоста.
Ксати да, версия 4.2.10.1 так же запустилась
Такой вопрос, а могут ли dll файлы быть битыми?
Спасибище! Несколько дней искал адекватный гайд по установке. Везде все было ужасно. По вашему гайду все встало идеально и с первого раза. Еще раз огромное спасибо! Все написано лаконично и подробно!
Спасибо за добрые слова — мне очень приятно.
Друзья, в нашем с вами распоряжении теперь целый форум — FreeForum.biz! А на этом форуме есть наша ветка по установке и настройке сервера: http://freeforum.biz/index.php?topic=2.0
Ваши вопросы по работе сервера оставляйте, пожалуйста, именно там.
До встречи на новом форуме!
Здравствуйте.
Дошел я до момента, когда необходимо создать файл i.php и вызвать его.
Вот только файл вызывается, но php скрипт не обрабатывается.
Например, при
<? php phpinfo ();?> -> чистая страница,
а если:
Какой-то текст
<? php phpinfo ();?> ,
то на странице так и отображается:
Какой-то текст
<? php phpinfo ();?>
т.е. php не выполняется.
Все делал по инструкции.
В чем может быть проблема? Буду рад помощи
АЛЕКСАНДР, сервер Apache работает без PHP, это ошибка номер два из Списка самых частых ошибок.
Такого результата можно добиться, например, если в файл httpd.conf забыть добавить строчки:
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"
Т.е. вернитесь к шагу http://webware.biz/?p=10#5 и проделайте всё ещё раз внимательней.
Alexey, я все делаю по инструкции:
В папке c:\Server\bin\ создал каталог PHP и скопировал в него содержимое архива php-5.6.3-Win32-VC11-x64.zip (в инструкции php-5.5.15-Win32-VC11-x64.zip (не смог найти), но я пробовал и php-5.5.19-Win32-VC11-x64.zip).
В файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавил 3 строки.
В каталоге c:\Server\data\htdocs\ создал файл i.php (содержимое: <?php phpinfo ();?>
Но когда перехожу на страницу http://localhost/i.php -> она чистрая.
Делал все это несколько раз.
Результат один: php не работает
Какие могут быть этому причины?
P.S. спасибо за помощь
АЛЕКСАНДР, Вы всё верно делаете, когда выбираете самые последние версии PHP.
У Вас Apache тоже 64-битный? Apache и PHP должны быть одной битности. После внесения изменений, не забывайте сохранить конфигурационный файл httpd.conf, а сервер обязательно перезапускайте.
В инструкции это есть, но на всякий случай скопирую сюда ещё раз с оф. сайта:
The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed.
Т.е. у Вас должен быть установлен распространяемый Visual C++ для Visual Studio 2012 x86 или x64
Если всё-всё это сделано, то пишите сюда опять — будем разбираться дальше.
Подскажите как быть с этим? mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Server
СЕРГЕЙ, это не ошибка сервера. Это предупреждение со стороны PHP. Во-первых, это означает, что и сервер и PHP работают нормально, и версия PHP у Вас свежая.
Во-вторых, само предупреждение вызвано тем, что в скриптах, которые Вы запускаете на своём локальном сервере, используется устаревшая функция mysql_connect().
Чтобы убрать это предупреждение нужно: а) обновить ваши скрипты до последней версии; б) если Вы сами написали этот скрипт, то прочитайте документацию по PDO и перепешите скрипты в той части, где они обращаются к базам данных без использования устаревших функций.
На самом деле, PHP можно настроить так, что он не будет выдавать предупреждения об устаревших функциях. Либо в самом скрипте можно отключить это предупреждение. Но, на мой взгляд, это плохие варианты.
Когда вставляю "c:\Server\bin\mysql-5.6\bin\mysqld" –install в командную строку, пишет: системе не удается найти данный путь.
Извиняюсь, нашел решение. Собственная невнимательность(
А вообще спасибо за инструкцию! Единственное, что помогло создать локальный сервер. Наверн потому,что у меня Win 8.1, а в инете находил всё на др. версиях Win.
На всех версиях Windows последовательность действий абсолютно одинаковая. Всё дело в инструкциях.
Здравствуйте.
У меня при установке phpMyAdmin возникла проблема:
Что это и, как с этим бороться?
P.S. Делал все по инструкции.
http://www.imageup.ru/img297/1985690/1594619865.png
Владимир, у Вас версия phpMyAdmin 4.3.2? Если так, то это ошика исключительно данной версии. Пруф http://sourceforge.net/p/phpmyadmin/bugs/4653/
И Капитан Очевидность предлагает следующие решения:
1) пользоваться phpMyAdmin из ветки 4.2,
2) подождать пока починят.
Спасибо. Понятно.
Непонятно только, как они могли пустить в релиз версию, которую даже установить нереально?
Или реально? Может есть какие-то обходные пути?
Владимир, функцией по настройке phpMyAdmin через графический интерфейс пользуются, пожалуй, один раз в жизни. После этого просто сохраняют файл config.inc.php и, при обновлении версий, просто заменяют папку phpMyAdmin на новую и добавляют туда сохранённый файл config.inc.php — очень быстро, занимает, примерно, секунду.
Именно поэтому такая ошибка и проскочила, и, обратите внимание, тикет уже пять дней висит без ответа — никому не интересно, и вообще мало кто сталкивася с этой проблемой.
Начать пользоваться phpMyAdmin 4.3.2 очень легко:
1) распакуйте содержимое архив с phpMyAdmin;
2) добавьте туда файл с настройками config.inc.php. Если Вы не сохранили свой файл, то вот держите мой.
Спасибо. Сейчас попробую.
Спасибо. Работает.
Подскажите. А, как я все таки могу поставить пароль на root?
Прописал его здесь:
<code>$cfg['Servers'][$i]['password'] = '12345';</code>
Запретил вход без пароля:
<code>$cfg['Servers'][$i]['AllowNoPassword'] = false;</code>
Ввожу логин и пароль, но вылезает ошибка: «Невозможно подключиться к серверу MySQL».
Владимир, Вы имеете ввиду пароль для MySQL? Или Вы имеете ввиду, чтобы пользователь root в MySQL был без пароля, а для входа в phpMyAdmin нужен был пароль?
Мне кажется, Вы неправильно понимаете смысл этой конфигурационной строки:
$cfg['Servers'][$i]['password']
Т.е. в этой строке:
$cfg['Servers'][$i]['password'] = '12345';
пароль для MySQL, а не для phpMyAdmin. И, как следует из документации, всё-равно туда писать ничего не нужно.
Если задача в том, чтобы вход в PMA без пароля был невозможен, то нужно:
1) задать пароль для пользователя root в MySQL.
2) перейти к настройке PMA, т.к. мой конфигурационный файл не подойдёт. Для настройки Вы можете скачать предыдущую версию PMA, сохранить файл с настройками и уже установить последнюю версию PMA для работы.
Предупреждение, на всякий случай: если сейчас на вашем локальном сервере уже работают сайты или скрипты, то в их конфигурацию, возможно, придётся вносить изменения — нужно будет прописывать пароль, который Вы установите для сервера MySQL.
Да, мне нужно, чтобы вход в PMA без пароля был невозможен.
Поэтому вопрос. Как задать пароль для пользователя root в MySQL? Остальное вроде пока понятно.
Отбой. Вроде все получилось.
Добрый вечер,
а куда копать, если после установки и настройки апачи локалхост не работает вообще? вместо этого автоматически скачивается файл "download"
TOOUUR, я Вам ответил на форуме.
Огромное Вам спасибо! Если бы сама искала, почему не настраивается или не устанавливается, то сутки бы потратила, а так все быстро получилось установить и настроить.
Екатерина, спасибо на добром слове — мне каждый раз очень приятно.
Добрый день, Алексей.
Когда устанавливал всё по инструкции, при входе в phpmyadmin, вставил в поле "пользователь" — root, а "пароль" оставил пустым. Но, когда нажимаю на "далее" (или что там было, забыл), пишет, что не доступен PHP, вроде так.
Удалил всё, пытался установить всё заново, теперь, при:
c:\Server\bin\Apache24\bin\httpd.exe -k install
в командной строке, пишет, что он уже установлен.
Ладно, не обратил на это внимание, затем, когда запускаю ApacheMonitor и нажимаю на "Start" сервера "Apache 2.4", он мне выдает, мол:
The requet operation has failed!
Что не так? Версии всего необходимого у меня другие:
php-5.6.5-Win32-VC11-x86.zip
httpd-2.4.12-win32-VC11.zip
mysql-5.6.23-win32.zip
phpMyAdmin-4.3.8-all-languages.zip
если это имеет значения. Помогите, пожалуйста.
Руслан, здравствуйте! Ошибка в конфигурационном файле Apache (httpd.conf).
Если Вы устанавливали в те папки, как сказано в инструкции, значит что-то пропустили при настройке httpd.conf. Вы правильно делаете, что выбираете самые последние версии, главное, чтобы они все были одной битности. Например, у Вас все программы 32-битные, т.е. всё нормально.
Попробуйте делать поэтапно, с проверками после каждого шага. Например, установили Apache. Не нужно сразу ставить PHP. Проверьте, запускается ли сервер и открывается ли http://localhost/. Если всё впорядке, то продолжайте. Если нужно, я могу выложить здесь все конфигурационные файлы.
Спасибо, но, ещё вопрос.
Если я ставлю всё не на диск "C", а на "D", и в конфигурационных файлах везде, вместо "С", ставлю "D" — это не влияет на работоспособность?
Теоретически — нет. Apache и остальным компанентам всё-равно где быть установленными: любой диск, любые каталоги. Для запуска Apache есть только одно условие — правильно настроенный httpd.conf.
А на практике — Вы сами видите. Причём ошибка именно в тех директивах, о которых говорится в этой инструкции.
Я вроде везде правильно заменяю строки в httpd.conf, но всё равно, выходи ошибка:
The requet operation has failed!
при "Start" в "ApacheMonitor".
Можете, пожалуйста, скинуть свои конфигурации httpd.conf.
Можно ли удалить всё, что устанавливал. Ну, имею ввиду, удалить даже то, что устанавливал командой:
c:\Server\bin\Apache24\bin\httpd.exe -k install
(Ставил httpd.exe на авто-запуск).
Все конфигурационные файлы.
Для удаления:
c:\Server\bin\Apache24\bin\httpd.exe -k uninstall
С этим разобрался. Делаю всё по инструкции, но, как описывал кто-то выше, при входе в phpmyadmin вписал логин "root", пароль оставил пустым, нажимаю на "Вперёд" — выдает:
Невозможно подключиться к серверу MySQL
Уже не раз переустанавливал всё.
А, кстати, при установке MySQL в командной строке, когда вводил:
"D:\Web\Server\bin\mysql-5.6\bin\mysqld" –install
Выдал, что он уже установлен, после чего прописал:
net start mysql
На что он мне выдал:
Системная ошибка 2.
Не удается найти указанный файл.
— — —
Решил попробовать удалить MySQL путем:
"D:\Web\Server\bin\mysql-5.6\bin\mysqld" –uninstall
На что он снова мне выдал, что он уже установлен…
В чем дело? Замучился уже…
Удаляется MySQL так:
c:\Server\bin\mysql-5.6\bin\mysqld —remove
Вы говорили, что только меняли диск — но ведь у Вас и ещё и в каталог Web поставлено.
Ошибка в конфигурации, в указании путей. Эта инструкция не подразумевает, что пользователь будет что-то менять. Думаю, Вам лучше попробовать установить по какой-нибудь другой инструкции — более универсальной. Благо их сейчас множество.
Ура, спасибо!
Удаление и установка MySQL заново решила данную проблему.
Здравствуйте, я установил сервер по вашей инструкции, но у меня возникла проблема.
Когда-то у меня стоял сервер Appserv, его характеристики таковы:
AppServ 2.5.10
Apache 2.2.8
PHP 5.2.6
MySQL 5.0.51b
phpMyAdmin-2.10.3
Тогда я экспортировал базу с phpmyadmin, и сейчас, когда установил более новые версии, при импорте выдает ошибку:
SQL запрос:
T SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
Ответ MySQL:
#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 'T SQL_MODE="NO_AUTO_VALUE_ON_ZERO"' at line 1
Сейчас версия mysql 5-я, phpmyadmin 4-я.
Что-то похожее бывало и у меня, но деталей не припомню. Попробуйте так:
1) сделайте резервную копию Вашей базы данных;
2) откройте резервный файл любым текстовым редактором (там обычный текстовый файл в виде MySQL-запросов. Конечно, если он не в архиве. Если в архиве, то предварительно распакуйте. После окончания процедуры запаковывать снова необязательно);
3) Удалите самую первую строчку. Сохраните и закройте файл.
4) Попробуйте импортировать.
Всё должно получиться. Если опять напишет об ошибке в первой строке, то удалите ещё одну первую строку. Если импортирует успешно, но напишет об ошибках в последних строках, то не обращайте внимания. Ни в этих первых, ни в последних строках никакой значимой информации нет.
Сделал, как вы и сказали. Удалил первую строку: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; Далее импортировал, после чего он мне выдает, мол ошибка с: CREATE TABLE IF NOT EXISTS `admins` ( И его удалил, но снова ошибка, выдает строку за строкой… Вот всё, что находится в бд.
…
Я убрал отсюда содержимое базы, файл, который я сделал из Ваших данных и который успешно смог импортировать в базу данных я отправил Вам на почту.
База импортировалась успешно, спасибо вам большое!
У меня ещё один вопрос.
Как можно проверить битность phpmyadmin? Я скачал, вроде бы, последнюю верию с http://php-myadmin.ru/download/, но всё равно возникают некие проблемы. Когда регистрирую нового пользователя как рут администратора, или же обычного пользователя, данные не заносятся в базу…
phpMyAdmin — это просто PHP-скрипт (точнее, множество PHP-скриптов). Как и у любого PHP-скрипта, к phpMyAdmin не применимо такое понятие как "битность". Проще говоря, у Вас точно сказалась правильная версия, поскольку других не бывает.
Про пользователей в базе данных я не понял. Посмотреть список пользователей в phpMyAdmin можно во вкладке "Пользователи" (нужно перейти на главную страницу и там будет видна эта вкладка). Чтобы настроить права разных пользователей нужно на них кликнуть — там дальше всё довольно понятно.
Физически, конечно, данные о пользователях хранятся в базе данных. Я подозреваю, что Вы смотрите не там. Нужно смотреть БД под названием mysql, а в ней есть две таблицы user (здесь пользователи с полными привилегиями) и таблица db (здесь пользователи с ограниченными привилегиями).
Меня только что посетила догадка, что Вы создаёте пользователей через панель phpMyAdmin, и ожидаете их появления в тех таблицах, которые Вы импортировали (т.е. пользователей и администраторов игры). Если это так, то это очень неверно и это выходит за рамки установки и настройки сервера. За помощью обратитесь к автору скрипта, который работает с базой данных.
При установке скрипта сайта, которую я устанавливаю, есть пункт, где нужно указать имя рут администратора. Я ввел имя, пароль и е-майл, и после установки пытаюсь залогиниться на сайте, на что он мне пишет, что пользователь с данным именем не найден. Вот и задумываюсь, из-за чего он криво установился и не записывает ничего в базу…
Когда у меня стояла Вин хп х86, я поставил себе аппсерв 2.5.10. Он работал отлично, не было никаких проблем. Недавно перешел на Вин 7 х86 и поставил новые версии апаче, пхп, мускул и пхпмайадмин, после чего начался весь этот бред.
Эта проблема для специализированного форума по игре — ни сервер, ни ОС здесь не при чём.
Самые распространённые ошибки, из-за которых не работают готовые скрипты:
Почти всегда что-то из первых трёх пунктов. Если "раньше работало, а теперь не работает", значит сейчас при установки сервера, например, задали новый пароль рута для подключения к БД, или импортировали в БД с другим названием и т.д.
"Экзотическими" причинами неработы скриптов могут быть отсутствие необходимого модуля PHP, не подходящая версия PHP и т.д.
Ещё кое что хотел спросить.
— Влияет ли то, что нет пароля root в phpmyadmin на данную проблему?
— Влияет ли расположение сервера на другом диске, кроме диска С, на проблему?
Проблема остается, все же… Сотни раз переустанавливал всё, и решил залезть в логи.
Вот что было в логах Apache (Error):
[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00455: Apache/2.4.12 (Win32) PHP/5.6.5 configured — resuming normal operations
[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00456: Apache Lounge VC11 Server built: Jan 28 2015 16:48:40
[Fri Mar 06 00:00:32.986032 2015] [core:notice] [pid 1784:tid 368] AH00094: Command line: 'D:\\Server\\bin\\Apache24\\bin\\httpd.exe -d D:/Server/bin/Apache24'
[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00418: Parent: Created child process 1996
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
[Thu Jan 01 00:00:33.875234 2015] [mpm_winnt:notice] [pid 1996:tid 304] AH00354: Child: Starting 64 worker threads.
[Fri Mar 06 13:48:38.026815 2015] [core:error] [pid 1996:tid 836] [client 94.141.70.136:55769] AH00126: Invalid URI in request vT\xc5ty\xa6\x8a\xd0\x98\xa0\xcc\xf0\xb7\xb2\x14\xf0\x01\x10\xa9\x0f\v<z'\x8dN\x81\x8c(~\xf9\x97\x89\xd3q\xe3}\xee\xf8\x8f*\x18H
[Fri Mar 06 15:14:16.151699 2015] [mpm_winnt:warn] [pid 1996:tid 1032] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
Я тоже долго (3 часа) бился с ошибкой "PHP Warning: PHP Startup: in Unknown on line 0" при подключении модуля "extension=php_curl.dll"
Путь к модулям указал верно, в системную переменную PATH добавил путь к каталогу PHP — не помогло. А вот когда скопировал четыре файла (libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll) в папку Windows\system32, то модуль подцепился и все заработало.
Первый раз устанавливаю сервер, всё последовательно
В php.ini точку с запятой в строке extension=php_mbstring.dll убрал.
Захожу по адресу http://localhost/phpmyadmin/setup/, и мне выпадает такая ошибка:
Fatal error: Call to undefined function mb_detect_encoding() in C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177
Как решить проблему?
P.S. Отличная статья!
После изменения конфигурационного файла Вы сервер перезапускали?
Алексей, проблема решена! Собственная невнимательность — не переименовал php.ini — development в php.ini.
Огромная благодарность и за статью, и за внимание!
Да, перезапускал. Ничего не заработало, выдает ошибку
Добрый, подскажите по конфиг pma. Если оставить конфиг в папке config все работает, но просит удалить каталок, скопировав конфиг в корень, если это сделать pma работать не хочет, говорит права на файл слишком хорошие, режешь права (только чтение), и получаешь пустую страницу или ошибку при авторизации не возможно подключиться к MySQL
Спасибо Вам за ваш труд. Одна из лучших статей по WAMP
Здравствуйте. Появилась проблема: до момента добавления строк
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"
все работает, как надо. Но как только вставляю их в конец файла httpd.conf. выдает ошибку "the requested operation has failed". В логах
Restarting the server.
httpd.exe: Syntax error on line 532 of C:/Server/bin/Apache24/conf/httpd.conf: Cannot load C:/Server/bin/PHP/php5apache2_4.dll into server: \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.
[Mon Jul 06 02:38:24.688572 2015] [mpm_winnt:notice] [pid 2916:tid 392] AH00364: Child: All worker threads have exited.
Что это может быть?
Здравствуйте! Эта инструкция считается устаревший. Есть новая инструкция здесь: http://webware.biz/?p=3215. Но причина ошибки не в этом.
Ошибка вызвана тем, что каталог с PHP Вы положили в какую-то другую папку, а не ту, которая рекомендуется в инструкции (C:\Server\bin\PHP\).
Нет. Именно C:\Serber\bin\PHP\
т.е. Server, конечно
Какую версию PHP ставите? Случайно не PHP7?
php-5.6.10
все версии 64 битные, как и система
Значит Вы скачали файл php-5.6.10-nts-Win32-VC11-x64.zip, а нужно php-5.6.10-Win32-VC11-x64.zip
Вот ссылка на правильный файл: http://windows.php.net/downloads/releases/php-5.6.10-Win32-VC11-x64.zip
Ну я же не совсем тупой. У меня thread safe скачан
Наберите в командной строке (от пользователя)
В домашнем каталоге появится файл dir.txt, загрузите его на любой файлообменник, а ссылку сюда.
Если все файлы на месте, то значит дело в том, что в инструкции что-то уже устарело. Как минимум, нужно поставить Visual C++ Redistributable for Visual Studio 2015 RC, а ещё лучше пользоваться актуальной инструкцией http://webware.biz/?p=3215, про которую красными буквами в нескольких местах написано.
У меня стоит Visual C++ Redistributable for Visual Studio 2015 RC
И я все снес, что было и стал делать по новой инструкции. Та же фигня.
Ссылку прикрепляю https://www.sendspace.com/file/16bh1x
Все, я нашел проблему. Заработало.
Напишите, пожалуйста, для всех — в чём была проблема?
Я каким-то образом не заметил в новой статье, что нужен еще Visual C++ Redistributable for Visual Studio 2012
Проморгал глазом, подумал, что 2010, как и в этой статье. У меня стоял 2015 и 2010, а 2012 не было. Только поставил — сразу пашет.