Оглавление
2. Как установить Apache на Windows
3. Как установить PHP на Windows
5. Как установить MySQL в Windows
6. Как установить phpMyAdmin в Windows
Веб-сервер на Windows
Веб-сервер — это программа, которая предназначена для обработки запросов к сайтам и отправки пользователям страниц веб-сайтов. Самый популярный пример веб-сервера это Apache.
PHP — это язык программирования. Также называется среда для выполнения скриптов, написанных на PHP. В операционной системе, в том числе и Windows, PHP может быть установлен самостоятельно, без веб-сервера. В этом случае программы (скрипты) на PHP можно запускать из командной строки. Но веб-приложения очень часто используют PHP, данный интерпретатор стал, фактически, стандартом веб-серверов и поэтому они почти всегда устанавливаются вместе.
MySQL — это система управления базами данных (СУБД). Это также самостоятельная программа, она используется для хранения данных, поиска по базам данных, для изменения и удаления данных. Веб-приложения нуждаются в постоянном хранилище, поэтому для веб-сервера дополнительно устанавливается и СУБД. Кстати, вполне возможно, что вы слышали про MariaDB — это тоже СУБД. Первой появилась MySQL, а затем от неё ответвилась MariaDB. Для веб-приложений обе эти СУБД являются взаимозаменяемыми, то есть никакой разницы нет. В этой инструкции я буду показывать установку на примере MySQL, тем не менее если вы хотите попробовать новую MariaDB, то смотрите статью «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».
Что касается phpMyAdmin, то это просто скрипт на PHP, который предназначен для работы с базами данных — наглядно выводит их содержимое, позволяет выполнять в графическом интерфейсе такие задачи как создавать базы данных, создавать таблицы, добавлять, изменять и удалять информацию и т. д. По этой причине phpMyAdmin довольно популярен, хотя и не является обязательной частью веб-сервера.
Особенность Apache и других компонентов веб-сервера в том, что их корни уходят в Linux. И эти программы применяют в своей работе основные концепции этой операционной системы. Например, программы очень гибки в настройке — можно выполнить установку в любую папку, сайты также можно разместить в любой папке, в том числе на другом диске, не на том, где установлен сам веб-сервер. Даже файлы журналов можно вынести на третий диск и так далее. У веб-сервера много встроенных модулей — можно включить или отключить их в любом сочетании, можно подключить внешние модули. Можно создать много сайтов на одном веб-сервере и для каждого из них установить персональные настройки. Но эта гибкая настройка выполняется через текстовые файлы — именно такой подход (без графического интерфейса) позволяет описать любые конфигурации
Не нужно этого боятся — я расскажу, какие файлы нужно редактировать и что именно в них писать.
Мы не будем делать какие-то комплексные настройки — наша цель, просто установить веб-сервер на Windows. Тем не менее было бы странно совсем не использовать такую мощь в настройке. Мы разделим сервер на две директории: в первой будут исполнимые файлы, а во второй — данные (файлы сайтов и баз данных). В будущем, когда возникнет необходимость делать резервные копии информации или обновлять веб-сервер, вы поймёте, насколько удобен этот подход!
Мы установим сервер в отдельную директорию. Для этого в корне диска C:\ создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data (для сайтов и баз данных).
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data.
Для работы всех компонентов веб-сервера необходим файл «Visual C++ Redistributable for Visual Studio 2015-2022» - это официальный файл от Microsoft. Чтобы его скачать перейдите по ссылке. После скачивания, запустите этот файл и выполните установку.
Подготовительные действия закончены, переходим к установке компонентов веб-сервера.
Как установить Apache на Windows
Перейдите на сайт apachelounge.com/download и скачайте .zip архив с веб-сервером:
Распакуйте папку Apache24 из этого архива в C:\Server\bin\.
Перейдите в каталог C:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.
В нём нам нужно заменить ряд строк.
Меняем
Define SRVROOT "c:/Apache24"
на
Define SRVROOT "c:/Server/bin/Apache24"
меняем
#ServerName www.example.com:80
на
ServerName localhost
меняем
DocumentRoot "${SRVROOT}/htdocs" <Directory "${SRVROOT}/htdocs">
на
DocumentRoot "c:/Server/data/htdocs" <Directory "c:/Server/data/htdocs">
меняем
DirectoryIndex index.html
на
DirectoryIndex index.php index.html index.htm
меняем
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None
на
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All
и меняем
#LoadModule rewrite_module modules/mod_rewrite.so
на
LoadModule rewrite_module modules/mod_rewrite.so
Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице.
Откройте командную строку (это можно сделать нажав одновременно клавиши Win+x).
Выберите там Windows PowerShell (администратор) и скопируйте туда:
c:\Server\bin\Apache24\bin\httpd.exe -k install
Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить доступ.
Теперь вводим в командную строку:
c:\Server\bin\Apache24\bin\httpd.exe -k start
И нажмите Enter.
Теперь в браузере набираем http://localhost/ и видим следующее:
Это означает, что веб-сервер работает. Чтобы увидеть там файлы, добавьте их в каталог c:\Server\data\htdocs\ - это главная папка для данных сервера, где будут размещаться все сайты.
Как установить PHP на Windows
PHP 8 скачайте со страницы windows.php.net/download/. Выберите версию Thread Safe, обратите внимание на битность. Если вы затрудняетесь, какой именно файл скачать, то посмотрите эту заметку.
В папке c:\Server\bin\ создаём каталог PHP и копируем в него содержимое только что скаченного архива.
В файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки:
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/Server/bin/php/php8apache2_4.dll"
И перезапускаем Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k restart
В каталоге c:\Server\data\htdocs\ создаём файл с названием i.php, копируем в этот файл:
<?php phpinfo ();
В браузере откройте ссылку http://localhost/i.php. Если вы видите что-то похожее, значит PHP работает:
Настройка PHP 8
Настройка 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=bz2 ;extension=curl ;extension=ffi ;extension=ftp ;extension=fileinfo ;extension=gd ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql ;extension=pdo_sqlite ;extension=pgsql ;extension=shmop
и замените её на:
extension=bz2 extension=curl extension=ffi extension=ftp extension=fileinfo extension=gd extension=gettext extension=gmp extension=intl extension=imap extension=ldap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client extension=odbc extension=openssl ;extension=pdo_firebird extension=pdo_mysql ;extension=pdo_oci extension=pdo_odbc extension=pdo_pgsql extension=pdo_sqlite extension=pgsql extension=shmop
теперь раскомментируйте эту группу строк:
;extension=soap ;extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=tidy ;extension=xsl
должно получиться:
extension=soap extension=sockets extension=sodium extension=sqlite3 extension=tidy extension=xsl
Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.
c:\Server\bin\Apache24\bin\httpd.exe -k restart
Настоятельно рекомендуется добавить путь до PHP в переменную окружения PATH в Windows.
Также рекомендуется ознакомиться со статьями Что делать если PHP скрипту не хватает времени и памяти. Почему большой файл не загружается на сайт или в phpMyAdmin и Как увеличить память и время для PHP скриптов.
Материалы по дополнительной настройке, в том числе подключение поддержки PERL, Ruby, Python в Apache (только для тех, кому это нужно):
- Как тестировать отправку писем в PHP на Windows
- Настройка веб-сервера Apache для запуска программ Ruby на Windows
- Настройка веб-сервера Apache для запуска программ Perl на Windows
- Как настроить веб-сервер Apache на запуск Python в Windows
Как установить MySQL в Windows
Бесплатная версия MySQL называется MySQL Community Server. Её можно скачать на странице https://dev.mysql.com/downloads/mysql/. На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив.
На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись - но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download».
В каталог c:\Server\bin\ распаковываем файлы из только что скаченного архива. Распакованная папка будет называться примерно mysql-9.0.1-winx64 (зависит от версии), переименуйте её в mysql-9.0.
Заходим в эту папку и создаём там файл my.ini. Теперь открываем этот файл любым текстовым редактором и добавьте туда следующие строки:
[mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES datadir="c:/Server/data/DB/data/"
Сохраните и закройте его.
Настройка завершена, но нужно ещё выполнить инициализацию и установку, для этого открываем командную строку от имени администратора и последовательно вводим туда:
C:\Server\bin\mysql-9.0\bin\mysqld --initialize-insecure --user=root C:\Server\bin\mysql-9.0\bin\mysqld --install net start mysql
По окончанию этого процесса в каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы.
Теперь служба MySQL будет запускаться при каждом запуске Windows.
Как установить phpMyAdmin в Windows
Сайт для скачивания phpMyAdmin: phpmyadmin.net.
Прямая ссылка на самую последнюю версию: phpMyAdmin-latest-all-languages.zip.
В каталог c:\Server\data\htdocs\ копируем содержимое только что скаченного архива. Переименовываем эту папку в phpmyadmin.
В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём файл config.inc.php и копируем туда:
<?php /* Servers configuration */ $i = 0; /* Server: localhost [1] */ $i++; $cfg['Servers'][$i]['verbose'] = ''; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; $cfg['Servers'][$i]['nopassword'] = true; $cfg['Servers'][$i]['AllowNoPassword'] = true; /* End of servers configuration */ $cfg['blowfish_secret'] = 'AHGFGLk$2FhlerkewlHL%782@1jBFE-#'; $cfg['DefaultLang'] = 'ru'; $cfg['ServerDefault'] = 1; $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; ?>
В браузере набираем http://localhost/phpmyadmin/
В качестве имя пользователя вводим root. Поле пароля оставляем пустым.
Заключение
Вот и всё — теперь у вас есть свой персональный локальный веб-сервер на своём домашнем компьютере.
Если вдруг у вас что-то не получилось, то скорее всего вы пропустили какой-то шаг или сделали его неправильно — попробуйте всё сделать в точности по инструкции. Если проблема осталась, то ознакомьтесь со справочным материалом «Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin» и если даже он не помог, то напишите о своей ошибке в комментарии.
Большое количество материалов по Apache на русском языке специально для Windows вы найдёте на этой странице.
Примеры материалов, которые могут вам пригодиться в первую очередь:
- Как защитить веб-сервер Apache от взлома в Windows
- Несколько сайтов на Apache
- Apache Forwarding — проброска портов веб-сервера
- Как сделать резервную копию баз данных MySQL (MariaDB) в Windows без phpMyAdmin
- Почему в логах ошибок Apache не сохраняются записи об ошибке 404
- Как в Windows поменять сообщения ошибок Apache
- Как настроить PHP для работы с get_browser (browscap.ini) в Windows
- Файл .htaccess в Apache
- Как обновить Apache на Windows
- Как обновить PHP
- Как обновить MySQL
- Как обновить phpMyAdmin
Связанные статьи:
- Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin (97.9%)
- Установка Apache, PHP, MySQL и phpMyAdmin на Windows XP (60.3%)
- Готовая сборка Apache для Windows XP (60.3%)
- Что делать если PHP скрипту не хватает времени и памяти. Почему большой файл не загружается на сайт или в phpMyAdmin (58.4%)
- Ошибка «Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl» (РЕШЕНО) (58.4%)
- Как тестировать отправку писем в PHP на Windows (RANDOM - 52.1%)
А не подскажите что делать с mysql если у меня 32 разрядная система? Я скачал файл mysql-5.5.62-win32.zip перекинул содержимое в папку mysql-8.0 далее как у вас. И уже когда я ввел в командную строку "C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root" он выдает это 191204 1:58:41 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disable
d
191204 1:58:41 [Note] C:\Server\bin\mysql-8.0\bin\mysqld.exe (mysqld 5.5.62) starting as process 264 ... Помогите разобраться.
Приветствую! В вашем случае ошибка вызвана тем, что версия MySQL просто нереально старая и её нужно устанавливать другими командами.
Скачайте хотя бы MySQL 5.7.* - там тоже есть 32-битный вариант.
О том, как установить MySQL 5.7.* смотрите эту статью из веб-архива: https://web.archive.org/web/20170109232308/https://hackware.ru/?p=21
Другие варианты получить актуальную версию MySQL на 32-битных системах:
Доброго времени суток!
С чем может быть связана данная ошибка. Сделал как на картинке.
Приветствую! В этом сообщении сказано, что в строке 540 файла C:/Server/bin/Apache24/conf/httpd.conf имеется синтаксическая ошибка. Что у вас записано в этой строке?
Сообщение
означает, что в папке PHP отсутствует файл php7apache2_4.dll. А это означает, что вы скачали архив с версией для отладки. Посмотрите здесь, как правильно выбрать нужный файл.
Сообщение
означает:
Видимо, это результат описанных выше ошибок, либо вы не установили Visual C++ Redistributable for Visual Studio.
Обязательно добавьте, чтобы в my.ini нужно было добавить skip-grant-tables
без этого служба mysql не запускалась. убил 2 дня, чтобы найти это решение
С указанными в статье настройками тоже работает — проверил несколько дней назад с последней версией Windows и последней версией MySQL. Если хотите, уточните, какая у вас версия MySQL и какие другие настройки — возможно, у вас какие-то особые обстоятельства, из-за которых понадобилась настройка.
Настройка skip-grant-tables может понадобиться только для смены пароля, поскольку разрешает вход без пароля. Соответственно, она оказывает влияние на безопасность и не должна постоянно присутствовать в конфигурационном файле.
Apache/2.4.41 (Win64)
PHP/7.2.28
5.6.47 - MySQL
Без той команды, к сожалению было это:
Служба "MySQL" запускается..
Не удалось запустить службу "MySQL".
Системная ошибка.
Системная ошибка 1067.
Процесс был неожиданно завершен.
Смотрел логи, там система ругается на отсутствие системных таблиц:
Table 'mysql.plugin' doesn't exist
Please run mysql_upgrade to create it. Но mysql_upgrade завершается безуспешно и ничего не менялось в проблеме.
В итоге помогло только добавление skip-grant-tables в результате чего БД вроде бы как заработала. Правда с кодировками сейчас мучаюсь)) БД в utf-8, php в utf-8, html в utf-8, а выводятся из БД знаки вопросов(
Зашёл в папку C:\Server\bin\mysql-5.6.47\share\charsets и там не увидел ютф8 О_о
Может быть кому-то пригодися: проблему с кодировкой решил путём установки кодировки для MySQL в файле my.ini, итоговое содержимое которого у меня следующее:
После этого в командной строке нужно перезагрузить mysql:
net stop mysql
net start mysql
При попытке запустить строчки:
C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root и т.д.
Выскакивает ошибка: Не удается продолжит выполнение кода, поскольку система не обнаружила VCRUNTIME140_1.dll. Для устранение этой проблемы попробуйте переустановить программу.
(цитата из данной инструкции).
Спасибо большое!
Помогите, пожалуйста
При установке mysql выдает такую ошибку
PS C:\Windows\system32> C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
PS C:\Windows\system32> C:\Server\bin\mysql-8.0\bin\mysqld --install
PS C:\Windows\system32> net start mysql
Неправильное имя службы.
Для вызова дополнительной справки наберите NET HELPMSG 2185.
Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin
Здравствуйте! После запуска mysql в папке data ничего не генерируется. Соответственно, при попытке проверить phpmyadmin пишет "расширение mysql не найдено..."
Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin
После выполнения команд :
C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql-8.0\bin\mysqld --
install
net start mysql
база данных в
C:\Server\data\DB\data\ не создаётся.Какие сообщения выводятся на экран? 99% что не создали файл my.ini или неправильно скопировали в него настройки или назвали его my.ini.txt.
в консоли пишет, что mysql успешно запущен, но тем не менее, ничего в C:\Server\data\DB\data\ не меняется. И нет, создал my.ini и скопировал:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir="c:/Server/data/DB/data/"
default_authentication_plugin=mysql_native_password
А если так запустить:
Если файлы в C:\Server\data\DB\data\ создадутся, значит всё-таки что-то не так с my.ini.
Ещё напишите, что выводят команды
Лучше копировать-вставить или делать скриншоты, а не передавать своими словами.
Теперь файли создались со. Я пробовал следовать инструкциям с разных сайтов, хоть они и все одинаковые по сути. Не знаю, каждый раз файлы упорно не появлялись.
1 команда выводит:
dir : Не удается найти путь "C:\Server\bin\mysql-8.0\my.ini", так как он не существует.
строка:1 знак:1
+ dir C:\Server\bin\mysql-8.0\my.ini
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Server\bin\mysql-8.0\my.ini:String) [Get-ChildItem], ItemNotFoundExc
eption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
2 команда выводит:
C:\Server\bin\mysql-8.0\bin\mysqld.exe would have been started with the following arguments:
Спасибо большое. А то уже часа 2 сижу, ничего не понимаю)
Вас не смущает строка "dir : Не удается найти путь "C:\Server\bin\mysql-8.0\my.ini", так как он не существует.". Если вас не смущает эта строка, то, думаю, я не смогу вам больше помочь. Кстати, файлы-то создались, но если оставить как есть и не найти причину проблемы (подсказка - причина проблемы в том, что "dir : Не удается найти путь "C:\Server\bin\mysql-8.0\my.ini", так как он не существует." Так вот, если не исправить причину проблемы, то эти созданные файлы всё равно не будут использоваться... Но если вам норм, пусть остаётся так...
Просто поблагодарил за хоть какое-то продвижение. Издеваться было не обязательно. Я и так сижу, смотрю, что может быть не так с этим my.ini, и ничего не понимаю.
Проблема была все же в расширении. Не сразу догадался его убрать. Только теперь после net start mysql пишет
Не удалось запустить службу "MySQL".
Служба не сообщает об ошибке.
Я там не издевался — но мне тоже тяжело отвечать на одни и те же вопросы, и причину я вам сразу назвал.
Теперь попробуйте так, после этого всё должно заработать:
Здравствуйте! Все делала точно по инструкции, после того как зашла на сайт http://localhost/phpmyadmin/ появилась ошибка "Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите [a@doc/html/faq.html#faqmysql@documentation]our documentation для дополнительной информации."
Как устранить данную ошибку? Спасибо
Здравствуйте! Посмотрите решение данной ошибки здесь.
Посмотрела, проверила, единственное, что у меня отличалось, это то, что я не переименовала наименование файла. Теперь у меня все правильно "php.ini", но ошибка так и не исчезла.
Вы перезапустили веб-сервер? Если не знаете как это сделать, перезагрузите компьютер.
Да, только что это сделала, все равно не работает...
Что у вас показывает файл с функцией phpinfo? Сделайте скриншот.
отправляю
Простите, вы шутите? Я имел в виду, в браузере откройте ссылку http://localhost/i.php. Вы точно делаете по этой статье? Там же упоминается этот файл и как проверить работу PHP.
Добрый день!
Аналогичная ошибка, сначала не было ничего в Loaded Configuration File, исправил опечатку - появилось (см. скрин), но по прежнему :
Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.
Возможно, кому-то поможет:
Сделал опечатку в параметре default_authentication_plugin=mysql_native_password
После запуска команды
и
C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql-8.0\bin\mysqld --install
Все сработало нормально, но сервер отказывался запускаться.
Нашел и исправил опечатку, выполнил
к
омандуC:\Server\bin\mysql-8.0\bin\mysqld --remove , затем повторный запуск команды C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root . Но оказалось, что при этом не удаляются
и не переписываются ранее созданные служебные файлы из каталогаC:\Server\data\DB\data
. Поэтому сервер все равно не желал запускаться.Нашел подсказку в файле
C:\Server\data\DB\data\notebook-a.err, который пришлось внимательно просмотреть предварительно. Там в одной из записей сказано: "удалите служебные файлы вручную".
После исполнения этой инструкции все отработало нормально.
здравствуйте. все делала по инструкции дошла практически до конца.
"Настройка завершена, но нужно ещё выполнить инициализацию и установку, для этого открываем командную строку от имени администратора и последовательно вводим туда:
1
2
3
C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql-8.0\bin\mysqld --
install
net start mysql
По окончанию этого процесса в каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы."
все вот это набираю и появляется:
PS C:\WINDOWS\system32> C:\Server\bin\mysql-8.0\bin\mysqld -install
Service successfully installed.
PS C:\WINDOWS\system32> net start mysql
Служба "MySQL" запускается..
Служба "MySQL" успешно запущена.
C:\Server\data\DB\data\ , но здесь не появляются никакие файлы
https://apache-windows.ru/ошибки-при-настройке-и-установке-apache-php-mysql-mariadb/#mysql-no-data-files
Все советы хороши, а мпленькие помарки устранбтся через управление компьютером - службы. Для полного контроля apache и mysql лучше запускать вручную, и можно без командной строки.
Спасибо
Добрый день. Установлены Апач пхп и mysql.
При установке composer выходит сообщение
Не подскажете в чем может быть проблемы. Пхп нормально работает
Ошибка в отсутствии модуля interbase (файл php_interbase.dll). Это расширение было перемещено в репозиторий PECL и больше не поставляется с PHP 7.4.0. То есть самый простой способ получить interbase — это установить PHP 7.3.* и больше не обновляться на PHP 7.4.* и выше.
Этому расширению требуются следующие файлы в переменной PATH: fbclient.dll, gds32.dll. Если сервер Firebird/InterBase установлен на той же машине, где запускается PHP, то эти DLL уже должны присутствовать и путь к fbclient.dll, gds32.dll (gds32.dll создаётся установщиком для старых приложений) уже будет прописан в PATH.
Для установки с PHP 7.4.*, можно обратиться к этим ссылкам:
Если что, в Linux всё это можно получить несколькими командами, т. к. Присутствует в стандартных репозоиториях:
Все делал по инструкции. При проверке работы PHP не открывается таблица. Только код.
Сервер перезапускал.
Вы такой же комментарий оставили 2 недели назад на другом моём сайте. Неужели 2 недели этим мучаетесь? Я только что проверил с последними версиями программ — всё прекрасно работает.
Выполните в командной строке
У вас в каталоге C:\Server появится файл tree.txt. Этот файл, а также ещё файлы:
запакуйте в архив, выложите на любой файлообменник и разместите здесь ссылку.
24.09.2020 инструкция верифицирована с последними версиями программ — всё работает!
потомки, привет из 2020 (надеюсь COVID19 все пережили)
при установки пхп8 нужно использовать не
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
LoadModule php_module "C:/Server/bin/php/php8apache2_4.dll"
Приветствую! Спасибо за полезнейший комментарий. Прямо сейчас обновлю все инструкции.
Здравствуйте.
Локалхост не запускается. В командной строке сообщение , что инсталяция не будет из-за ошибки.
Где может быть ошибка?
Приветствую! Командную строку (или PowerShell) нужно открывать как администратор — ошибка исчезнет. В статье есть скриншот, посмотрите, какой именно пункт нужно выбирать.
подскажите пожалуйста в чем проблема? и как ее решить? по ссылке Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin не нашла описание ошибки. В в каталоге C:\Server\data\DB\data\ появились. Спасибо заранее
Служба уже установлена и запущена - видимо, вы делаете по второму разу.
Подскажите, все сделала по инструкции, но все равно какая то ошибка в Apace. Сервер не коннектится с базой MYSQL
вот такая ошибка
На скриншоте показано, что веб-сервер не может запуститься из-за того, что какая-то программа уже прослушивает 80-й порт (про базы данных там ничего не сказано). Судя по всему, на этом компьютере уже установлен веб-сервер. Попробуйте открыть http://localhost/ в веб-браузере.
да, веб браузер открывается
но база данных не коннектится
Приветствую! Непонятно что вы имеете в виду под словами «база данных не коннектится»? Какие признаки этого? Что именно не работает и какие ошибки?
То есть напишите:
вот
Добрый день. Почему у меня на последнем действии вводим root. Поле пароля оставляем пустым, появляется ошибка?
В левой части этого скриншота должен быть перечень баз данных. Даже если вы не создавали ни одной БД, для нормальной работы MySQL пара баз данных создаётся автоматически. Но их нет. Поэтому и ошибка - MySQL не может нормально работать без нужных ей БД.
Я не знаю почему их нет - возможно, вы их удалили, возможно, процесс инициализации прошёл неправильно, возможно вообще всё не так (судя по предыдущим вашим сообщениям).
Можно попробовать сделать очистку и провести инициализацию БД ещё раз. Как это сделать, написано здесь.
Подскажите пожалуйста, после установки myphpadmin, сделал всё как требовалось, но после перехода по ссылке http://localhost/phpmyadmin/, выдаёт вот это:
Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl
В гайде по установке mysqladmin опечатка в строке
$cfg
[
'Servers'
][
$i
][
'extension'
] =
'mysqli'
;
должно быть
$cfg
[
'Servers'
][
$i
][
'extension'
] =
'mysql'
;
Если это не исправить работать не будет.
В официальной документации сказано:
$cfg['Servers'][$i]['extension']
Тип: строка
Значение по умолчанию: 'mysqli'
Указывает используемое расширение PHP MySQL (mysql или mysqli).
Рекомендуется использовать mysqli во всех установках.
Настройка устарела и начиная с версии 4.2.0 удалена вовсе. Расширение mysql будет использоваться только тогда, когда расширение mysqli недоступно. Начиная с 5.0.0, можно использовать только расширение mysqli.
В PHP уже много лет доступно только расширение mysqli.
Привет. Недавно приобрёл ноут (Lenovo 50-45), поставил новую сборку Apache 2.4, стала нормально, тест прошла. А капчу почему-то не видит - не может найти шрифт (ttf). На ХР-ке проблем не было.
Подскажите - в чём дело?
Привет. Приобрёл ноутбук (Lenovo 50-45), поставил сборку (отдельная благодарность) Apach 2.4. Тест сборка прошла. Поставил капчу (шрифт georgia.ttf в той-же папке) - получил: imagettftext(): Could not find/open font...На ХР-ке такого не было. Подскажите - что не так?
Приветствую! Вам нужно обратиться с этой ошибкой к автору приложения/скрипта.
Если вы можете сами внести правку в PHP код, то либо укажите абсолютный путь до фактического места где находится файл со шрифтом, либо посмотрите, где именно ищется отсутствующий файл и скопируйте его туда.
""""Это означает, что веб-сервер работает. Чтобы увидеть там файлы, добавьте их в каталог c:\Server\data\htdocs\""""
а ничего что папка htdocs после указанных выше манипуляций у нас находится c:/Server/bin/Apache24 ???
статья от лузера копипаста. просто пипец.
В структуре директорий Apache имеется пустая папка htdocs. Если она вас раздражает, можете её удалить — никакой функциональной роли она не несёт.
Мы создали собственную папку htdocs и прописали её в настройках. Поэтому функциональной является именно папка по пути c:\Server\data\htdocs\.
Это мы делаем для того, чтобы не смешивать файлы программ и файлы с данными. Поскольку при обновлении Apache можно просто целиком заменить папку c:\Server\bin\Apache24 не беспокоясь об удалении каких-либо данных.
Добрый день. Спасибо огромное за прекрасное описание по настройке.
сервер запускаеется но при попытке открыть сайт выдает ошибки
Warning: Undefined array key "session_key" in C:\Server\data\htdocs\ppls\index.php on line 3
Fatal error: 'break' not in the 'loop' or 'switch' context in C:\Server\data\htdocs\ppls\includes\adodb\adodb-time.inc.php on line 1009
подскажите пожалуйста решение очень нужно
СПАСИБО
Приветствую! Ключевое сообщение в этой ошибке:
Означает:
Дело в том, что в PHP 5.x.x, выражение «break» вне выражений «for», «foreach», «while» или «switch» НЕ вызывает сообщение об ошибке с точки зрения синтаксиса это нормально.
А в PHP 7.0 и выше, выражение «break» больше не разрешено вне «for», «foreach», «while» или «switch» и вызывает фатальную ошибку.
Что можно сделать:
Хорошее и понятное описание. Все работает! Для удобства что бы не вводить каждый раз команы можно создать bat файлы с командами старт, стоп и рестарт.
Приветствую, всё уже готово: Файл .bat для управления сервером (установка сервера, запуск, перезапуск и др.)
Пожалуй, как-нибудь надо будет переписать его на PowerShell, это сейчас актуальнее чем CMD.
Приветствую! По отдельности все работает, php и БД, но вместе, ни как. В чем может быть проблема?
С таким описанием проблемы вам никто не поможет. Напишите, какие именно ошибки, как проявляется, что не работает. Может вы используйте функцию mysql_connect(), которая устарела начиная с версии PHP 5.5.0 и будет удалена в будущем (в этом случае используйте расширение MySQLi, соответственно альтернатива для данной функции это mysqli_connect()).
Может быть, вы допускаете ошибки при подключении к базе данных.
Если phpMyAmin работает, значит связка MySQL+PHP в порядке, а причина вашей проблемы в чём-то другом.
Да согласен описал не корректно. Дело в том что не могу вызвать записи из БД через php везде используется mysqli_connect(). Через denwer все работало. Может в php.ini что то изменить или включить? При попытке вызвать какую то запись выводит пустой экран даже ошибки нет.
Видимо, отключён вывод ошибок. Посмотрите содержимое файла C:\Server\bin\Apache24\logs\error.log
Добрый день! Подскажите, как сделать чтобы вместо localhost вводить в адресную строку имя, и будет появляться страница HTML из папки HTDOCS?
Приветствую!
1. Доступ к локальному сайту на одном компьютере
1. Придумайте имя сайта, например, site.loc
2. Откройте файл C:\Windows\System32\drivers\etc\hosts и добавьте туда запись вида:
Например:
3. Сохраните и закройте файл
Сразу после этого ваш сервер будет доступен по адресу http://site.loc
Также рекомендуется ознакомиться с разделом «Подключение виртуальных хостов Apache в Windows» из статьи «Настройка Apache в Windows».
2. Доступ к локальному сайту с других компьютеров
На каждом компьютере, с которых вы хотите чтобы открывался сайт по имени, нужно проделать операцию, показанному в предыдущем пункте, но вместо 127.0.0.1 нужно указывать IP адрес сервера в локальной сети (например, 192.168.1.33), либо его белый IP адрес, если требуется вход с компьютеров из Глобальной сети. Но в последнем случае проще купить доменное имя и хостинг.
Рекомендуется для ознакомления: Как веб-сервер на своём компьютере сделать доступным для других
Добрый день. Большое спасибо а понятную и подробную инструкцию. Все поставил и запустил согласно Вашим инструкциям. Однако PhpMyAdmin выдает следующие ошибки:
1.Deprecation Notice in .\vendor\twig\twig\src\Loader\FilesystemLoader.php#40
realpath(): Passing null to parameter #1 ($path) of type string is deprecated
2. Deprecation Notice in .\vendor\twig\twig\src\Markup.php#35
Return type of Twig\Markup::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
3.Deprecation Notice in .\vendor\twig\twig\src\Markup.php#40
Return type of Twig\Markup::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
4.Deprecation Notice in .\libraries\classes\Util.php#796
Function strftime() is deprecated
5.Deprecation Notice in .\vendor\twig\twig\src\Node\Node.php#161
Return type of Twig\Node\Node::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
6.Deprecation Notice in .\vendor\twig\twig\src\Node\Node.php#166
Return type of Twig\Node\Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Насколько эти ошибки критичны? Что нужно сделать, чтобы их исправить? Или просто проигнорировать? С уважением, Олег
Ошибка один в один, где-то говорят, что надо phpmyadmin обновить, но установлена последняя версия
При установке этой https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.2+snapshot-all-languages.zip версии - все отлично, ошибки уходят.
при воде http://localhost/phpmyadmin/ панель админа не поевляется в чем проблема
Судя по скриншоту, вы в эту папку вместо phpMyAdmin скопировали бинарные файлы PHP.
спасибо так и было phpmyadmin запустился
в cmd запускаю команду и такая ошибка
C:\Windows\system32>net start mysql
Служба "MySQL" запускается........
Не удалось запустить службу "MySQL".
Для вызова дополнительной справки наберите NET HELPMSG 3523.
ошибка источник PHP-8.1.1
php[13708]
PHP Warning: PHP Startup: Unable to load dynamic library 'PDO_OCI' (tried: C:\Server\bin\PHP\ext\PDO_OCI (Не найден указанный модуль), C:\Server\bin\PHP\ext\php_PDO_OCI.dll (Не найден указанный модуль)) (C:\Server\bin\Apache24\bin\httpd.exe -d C:/Server/bin/Apache24)
? Если вы скопировали PHP в папку с phpMyAdmin, может вы phpMyAdmin скопировали в PHP? Ну или что-то ещё — просто повторите инструкцию внимательно, без ошибок.
здравствуйте, переустанавливаю сервер по новому иду поэтапно после апач ставлю mysql ошибка все таже ---
C:\Windows\system32> net start mysql
Не удалось запустить службу "MySQL".
Служба не сообщает об ошибке.
Для вызова дополнительной справки наберите NET HELPMSG 3534.
Это неправда.
Ваша ошибка «NET HELPMSG 3534», а в предыдущий раз была «NET HELPMSG 3523». То есть вы опять что-то сделали не так, но в этот раз что-то другое. Это, к стати, к вопросу о внимательности, которая необходима для данной инструкции.
Журнал ошибок MySQL находится в файле в C:\Server\data\DB\data\*.err (конкретное имя файла зависит от имени компьютера). Посмотрите, что там в этом файле.
Думаю, больше информации можно было бы получить на этапе инициализации БД и установки службы, но вряд ли вы запомнили или сохранили вывод этих команд.
в этой ситуации решил проблему она заключалось в том, была установленна инсталятором mysql на C диск в раздел programas file, при удалении базы данных проблема решилась. Спасибо
Поскольку вся «установка» MySQL заключается в распаковке архива, настройке файла my.ini, инициализации БД и запуске службы, то если предположить, что архив вы распаковали правильно и в файле my.ini нет ошибок, то можно ограничиться повторной инициализацией и переустановкой службы MySQL вместо выполнения инструкции заново. Как это сделать смотрите в разделе «Исправление MySQL после неудачной инициализации».
Если опять что-то не получится, то сделайте скриншоты вывода команд с mysqld (инициализация и установка).
здравствуйте
после переустановки сервера - Невозможно подключиться к серверу MySQL
все ошибки и проблемы на скрине
Я имел ввиду другие ошибки, что вам писала консоль, когда вы вводили
?
Что у вас в файле C:\Server\data\DB\data\*.err?
Информация на скриншотах бесполезна. Разве что, можно подумать, что вы ещё и PHP неправильно настроили.
А PHP вы 100% не так настроили — в инструкции указано, что модуль pdo_oci не должен быть активирован, а вы его активировали. Коротко говоря — все ошибки от того, что вы просто не следуете данной инструкции. Если вы хотите делать по-своему, тогда с вашими ошибками я помочь не могу.
https://drive.google.com/file/d/1kwjIeR8Nqy-EW4WCaYAmCN_8Mbj_4prn/view?usp=sharing
прилагаю сервер для скачивания могли бы Вы посмотреть имея на руках все файлы
Я же вам вроде довольно ясно написал, что дело в расширении pdo_oci. Нажмите на этой странице CTRL+f и найдите все места где встрачается pdo_oci. Увидите раздел по настройке PHP — там написано, какие строки надо раскомментировать чтобы работало. В вашем файле php.ini строки не только раскомментированы неправильно, но и ещё названия расширений совпадают не полностью, к тому же этот фрагмент написан заглавными буквами, как будто вы этот фрагмент скопировали из какой-то другой инструкции.
Устал повторять — просто сделайте как в инструкции на свежую голову.
А эту ошибку, которую вы решили ниже, другие пользователи решили несколькими комментариями выше.
спасибо, извените за беспокойство, все заработало. По форому--- при установке этой https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.2+snapshot-all-languages.zip версии - все отлично, все остальные ошибки уходят.
продолжение
здесь проблеу решил
Спасибо!
но ставить это дело под виндой которая сама работает через домен не советую...
Вход без пароля запрещен при конфигурации (смотрите AllowNoPassword)
Попробовала сделать очистку и провести инициализацию БД. Не помогло. В чем может быть ошибка?
Вы можете либо установить пароль для подключения СУБД MySQL, либо разрешить вход без пароля.
Соответствующие ссылки:
Добрый день. Подскажите пожалуйста, при установке только Apache, как настроить его таким образом, чтобы при вводе в адресной строке браузера например "http://cats" открывалась сверстаная мной страничка "cats.html" (а также в каком каталоге Apache она должна находится?)???.
Спасибо!
Приветствую! Добавьте в файл C:\Windows\System32\drivers\etc\hosts следующую строку:
Теперь если открыть в веб-браузере ссылку http://cats, то откроется веб-сервер, а именно содержимое папки c:\Server\data\htdocs\ (туда и поместите вашу веб-страницу).
Всем привет, при открытие phpmyadmin просто белый экран и больше ничего, все перепроверил по инструкции и форумы излазил, ничего не нашел. Можете помочь?
Приветствую, для установки веб-сервера вы использовали эту инструкцию? Как бы там ни было, смотрите здесь.
Спасибо! Статья и сегодня актуальна. Всё получилось.
Хочу выразить автору статьи свою благодарность. Все получилось с первого раза. Описано грамотно и подробно.
Установил APACHHE так как OPenserver не видел сайт (папка с наполнением сайта в нужном месте). после рекомендуемой установки стало еще хуже, потому что теперь Openserver вообще не запускается так как порт 80 захвачен прогой от APACHHE...