Почему не запускается apache windows

Apache не запускается из панели управления XAMPP в Windows 10

После установки панели управления XAMPP в Windows 10 многие пользователи сообщали об ошибке при запуске Apache . Эта проблема обычно возникает, когда такой процесс, как World Wide Publishing Service, продолжает работать на 80-м порту вашего устройства. Из-за этого операционная система Windows 10 не позволяет серверу Apache работать, и это вызывает ошибку.

Фактически, порт 80 на компьютере также был портом TCP / IP по умолчанию, который модуль Apache использует на XAMPP. А поскольку два разных приложения не могут использовать один и тот же сетевой порт, вам необходимо остановить его перед запуском сервера Apache XAMPP. Если вы также столкнулись с этой проблемой на своем устройстве, есть несколько простых способов, которые я упомянул в этом руководстве. Итак, начнем.

Apache не запускается из панели управления XAMPP

Очистка службы публикации в World Wide Web была бы лучшим подходом, чтобы снова запустить Apache. Однако вы также можете получить его, изменив номер порта TCP / IP или остановив службу, если это необходимо. Итак, чтобы исправить запуск Apache на панели управления XAMPP, выполните следующие возможные действия:

  1. Clear World Wide Web Services
  2. Изменить порт Apache TCP/IP по умолчанию
  3. Остановите World Wide Web Publishing Service

Давайте посмотрим на них подробно.

1] Clear World Wide Web Services

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

Если все в порядке, откройте панель управления в вашей системе Windows.

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

Из доступных элементов выберите Программы и компоненты.

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

В диалоговом окне «Функции Windows» разверните Информационные службы Интернета.

Теперь снимите флажок «World Wide Web Services» и нажмите кнопку «ОК», чтобы сохранить изменения.

Выполнив вышеуказанные действия, перезагрузите устройство. После этого откройте панель управления XAMPP и нажмите кнопку «Пуск» в Apache. Теперь он должен работать в порту 80 на вашем компьютере.

2] Изменить порт Apache TCP/IP по умолчанию

Если по какой-либо причине вышеуказанный обходной путь не работает для вас, вам необходимо настроить Apache для выполнения на другом порту TCP/IP. Итак, следуйте этим советам:

Откройте панель управления XAMPP на вашем устройстве Windows.

Нажмите на кнопку Config модуля Apache.

Выберите пункт Apache (httpd.conf) в списке всплывающего меню.

На следующей странице блокнота вам нужно найти Listen 80.

Чтобы упростить поиск, нажмите сочетание клавиш Ctrl + F. Во всплывающем меню введите то, что вы хотите найти. Марк Wrap вокруг флажка, оставить дело Match бесконтрольно, а затем нажмите на Find Next кнопку.

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

Например, вы можете попробовать порт 121. Тогда соответствующий результат для номера порта TCP/IP будет что-то вроде — Listen 121.

Нажмите сочетание клавиш Ctrl + S, чтобы сохранить изменения в блокноте.

Примечание. Обратите внимание, что при использовании этой конфигурации вам всегда нужно добавить номер порта TCP/IP в URL, который вы хотите подключить к своему сайту. Например, чтобы получить доступ к серверу Apache в вашем браузере, вам нужно будет ввести: localhost:121/dashboard , а не localhost/dashboard .

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

3] Остановите издательский сервис World Wide Web

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

Чтобы остановить службу публикации в Интернете, сначала необходимо открыть диспетчер служб Windows на компьютере с Windows 10.

На экране «Службы» найдите параметр «Служба публикации в Интернете» в столбце «Имя».

Как только вы найдете, дважды щелкните по нему, чтобы открыть окно свойств.

В окне свойств по умолчанию открывается вкладка Общие.

На вкладке General найдите тип запуска и переключите его на Manual. Это позволит вам запустить службу вручную, когда это потребуется.

Продвигаясь вперед, остановите статус работающей службы и нажмите Apply > кнопку OK.

Теперь откройте панель управления XAMPP и нажмите кнопку «Пуск», чтобы запустить сервер Apache.

Вот и все. Я надеюсь, что это руководство поможет вам исправить проблему запуска службы Apache на панели управления XAMPP.

Почему не стартует служба Apache? Решение проблемы

Как то раз запускал службу веб-сервера Apache, а он отказался стартовать. Начал разбираться в чём же проблема. Дело было на рабочем компьютере под ОС Microsoft Windows. Полез в журналы операционной системы: Компьютер -> Свойства -> Управление (Управление компьютером) -> Служебные программы -> Просмотр событий -> Журналы Windows -> Приложение. Здесь нашёл множество сообщений касательно Apache. Привожу список сообщений об ошибках найденных в журналах касательно Apache:

  • The Apache service named reported the following error: AH00558: httpd.exe: Could not reliably determine the server’s fully qualified domain name, using xxxx::yyyy:zzzz:www:nnnn. Set the ‘ServerName’ directive globally to suppress this message.
  • The Apache service named reported the following error: AH00015: Unable to open logs.
  • The Apache service named reported the following error: AH00451: no listening sockets available, shutting down.
  • The Apache service named reported the following error: (OS 10048) Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80.

Таким образом становится понятно, что Apache не может слушать 80-ый сетевой порт т.к. он уже кем-то занят, поэтому и не хочет стартовать. Т.е. надо либо настроить Apache таким образом, что бы он слушал какой-нибудь другой порт (свободный), либо же освободить 80-ый порт закрыв приложение, которое его использует или перенастроив это приложение на использование другого порта. Указать веб-серверу Apache прослушиваемый порт можно в конфигурационном файле httpd.conf директивой Listen .

Посмотрим кем занят 80-ый порт. В командой строке (она же cmd) вбиваю netstat -ab или так для более полной информации netstat -abno . И узнаю, что 80-ый сетевой порт слушает запущенный Skype. Да, я в курсе, это старая тема про которую все давно знают, что Skype по-умолчанию занимает 80-ый порт. В общем? отключил в Скайпе (Skype) прослушивание 80-ого порта и проблема была решена. Если у вас другое приложение занимает этот порт, то соответственно отключайте или перенастраивайте его.

Почему Apache не запускается

Многие новички, которые пытаются настроить свой домашний веб-сервер на основе Apache часто сталкиваются с ошибкой, что Apache не запускается. Благо сейчас в Ubuntu веб-сервер будет правильно работать по умолчанию и запустится, если вы не будете менять настройки, но раньше и в других дистрибутивах приходилось настраивать различные параметры и возникали ошибки.

В этой небольшой статье мы рассмотрим почему Apache не работает, что может стать причиной этой проблемы и как ее решить. Инструкция подойдет не только для Ubuntu, но и для других Linux дистрибутивов.

Почему не запускается Apache?

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

  • Ошибка в конфигурационном файле — вы меняли конфигурацию и настроили что-то неправильно из-за этого программа не может запустится;
  • Права доступа — у программы нет прав доступа к каким-то важным для нее файлам, например, файлам логов, модулей или конфигурационным файлам;
  • Не запускается служба apache при загрузке, но при запуске из консоли все работает — проблема в том, что на момент запуска загружены еще не все необходимые службы;
  • Неверно указанно доменное имя — такая ошибка довольно часто встречается на локальных компьютерах;

А теперь рассмотрим более подробно почему так происходит и как решить проблему.

Как решить проблему с Apache?

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

See «systemctl status apache2.service» and «journalctl -xe» for details

То есть нам нужно выполнить systemctl status apache2.service или journalctl -xe чтобы получить больше сведений. Выполните сначала первую команду:

systemctl status apache2.service

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

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

Дальше вы можете проверить конфигурационный файл на корректность с помощью такой команды:

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

Следующая важная проблема — это права доступа. Если Apache запускается от имени пользователя www-data, то у этого пользователя должен быть доступ на чтение к папке где лежат документы веб-сайта, а также ко всем папкам выше нее, также должен быть доступ на чтение и запись для логов и конфигурационных файлов. Проверить права можно с помощью команды namei, это аналог ls, который отображает полное дерево прав:

namei -l /var/www/public_html/

Таким же образом проверяем папку с логами:

namei -l /var/log/apache2/

Как видите, у меня папка /var/www/public_html принадлежит пользователю root, но на папку public_html установлены права чтения и записи для всех пользователей. Поэтому проблем нет, а на папку с логами в качестве группы установлена adm, в эту группу входит пользователь www-data, так что тут тоже проблем нет. Если у вас что-то отличается и вы видите что прав недостаточно, то либо измените владельца папки с файлами веб-сайтов на www-data, либо дайте больше разрешений:

chown -R www-data /var/www/public_html/

Также, если в вашей системе включен SELinux, то вы можете его отключить на время, чтобы понять не в нем ли проблема:

Другой момент, который может вызвать ошибку, это если на порту, который вы хотите использовать для веб-сервера уже запущен какой-то процесс, например, nginx или lighttpd, в таком случае, его нужно остановить:

sudo systemctl stop nginx
sudo systemctl stop lighttpd

Или вы можете попытаться изменить порт на другой, для этого откройте конфигурационный файл веб-сервера и найдите там строку Listen:

Если такой строки еще нет, то вы можете ее создать. Далее просто измените номер порта с 80 на любой удобный, например, 8080

Дальше про ошибку старта при загрузке. Такая ошибка случалась в версиях ниже 2.2.4, если вы используете эту или более новую версию, то эта проблема вам не страшна. Она была вызвана тем, что Apache с SSL не хотел запускаться без папки /var/run/apache2, которой не было на момент загрузки. Самый простой способ решить проблему — отключить модуль ssl:

Второй способ более сложный — добавьте в конфигурационный файл /etc/init.d/apache2 такую строку:

[ -d /var/run/apache2 ] || mkdir /var/run/apache2

Последняя проблема, о которой мы говорили — это когда неверно указанно имя сервера, на котором запускается Apache. Этой ошибке тоже были подвержены только ранние версии программы. Тогда при попытке запуска программа выдавала сообщение:

Failed to resolve server name for localhost

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

Читайте также:  Oculus dk1 windows 10

А также ассоциировать это имя с localhost в файле hosts:

sudo vi /etc/hosts

Дальше было достаточно перезапустить Apache и все начинало работать.

Выводы

В этой статье мы рассмотрели несколько причин почему не запускается Apache и примеров их решения. Причин может быть множество, но мы разобрали только самые главные, которые встречаются наиболее часто. Надеюсь, эта информация была для вас полезной, если у вас остались вопросы, спрашивайте в комментариях! А для тех кого интересует еще один способ решения проблемы xampp apache не запускается для Windows есть видео:

Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin

Оглавление

Где смотреть ошибки веб-сервера и как правильно задать вопрос

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

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

В любом случае, самую полную информацию об ошибках Apache и PHP вы найдёте в файле журналов Apache (по ссылке подробности о содержимом и настройке этого файла). Если у вас веб-сервер установлен по этой инструкции, то путь до этого файла такой: C:\Server\bin\Apache24\logs\error.log. В любом случае, файл журнала находится по умолчанию в папке веб-сервера в подпапке logs, либо может быть в другом месте в соответствии с директивой ErrorLog

Журнал ошибок MySQL и MariaDB находится в файле в C:\Server\data\DB\data\*.err (конкретное имя файла зависит от имени компьютера). Опять же, если вы устанавливали по другой инструкции или у вас другие настройки СУБД, то ищите этот файл в соответствии с вашими установками — по умолчанию он расположен в папке data и имеет расширение *.err.

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

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

Остановите веб-сервер (иначе невозможно отредактировать файлы журналов):

Очистите содержимое журналов:

Вновь запустите веб-сервер:

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

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

Ошибки Apache в Windows

Никак не могу установить apache, выдаёт ошибку:

Это предупреждение, а не ошибка. По идее, Apache должен всё равно работать. У вас http://localhost/ открывается?

Чтобы это предупреждение не выводилось (цитата из инструкции):

При запуске httpd я получаю следующее сообщение:

(OS 10048)Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80

AH00451: no listening sockets available, shutting down

AH00015: Unable to open logs

В качестве ОС использую Windows 8.1

Данная ошибка вызвана тем, что какая-то программа прослушивает порт 80, при этом Apache пытается использовать этот же порт. Но две программы не могут это делать одновременно – отсюда и ошибка.

Для того, чтобы узнать, какая программа занимает этот порт:

1) нажмите сочетание клавиш WIN + x

2) из открывшегося списка выберете «Командная строка (администратор)»

3) скопируйте туда:

4) Найдите строку, содержащую «0.0.0.0:80», в этой строчке нас интересует PID, например, в моём случае это 2168

Теперь нам нужно сопоставить идентификатор процесса с конкретной программой. Чтобы сопоставить идентификатор процесса программы, выполните следующие действия:

5) Нажмите сочетание клавиш WIN + x (или CTRL + ALT + DELETE) и нажмите кнопку «Диспетчер задач».

6) Перейдите на вкладку «Процессы».

7) Если не имеется столбец PID, щелкните «Просмотр», «Выбрать столбцы» и установите флажок «PID» (в русской версии – «ИД процесса»).

8) Щелкните заголовок столбца, под названием «PID» сортировка процесс по PID. Вы сможете легко найти идентификатор процесса, и он соответствует программе, которая отображается в диспетчере задач.

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

а) удалить эту программу;

б) настроить её на использование другого порта;

в) настроить Apache на использование другого порта

п.с. на самом деле, могут быть другие причины данной ошибки (кроме занятости порта) – например, неправильная конфигурация сервера Apache, либо запрет в политиках безопасности ОС на использование этого порта. Но если Вы не вносили изменений «от себя» в конфигурацию сервера и в конфигурацию Windows, то дело, почти наверняка, в занятости порта другой программой.

Ответ пользователя с ошибкой: Проблема решена — порт занимал Скайп (есть у него такая бяка в настройках соединения — использовать порты 80 и 443 в качестве альтернативных, после того, как я отключил эту опцию, всё заработало).

Сервер замедляется, перестаёт отвечать на запросы, хотя причин для этого нет — он не перегружен.

В логах появляется ошибка AH00341: winnt_accept: Asynchronous AcceptEx failed:

В файл httpd.conf нужно добавить следующие строки:

работать с сервером не могу пока не запущу Apache Monitor.exe, сам Apache в службах значится -как запущенная служба, но через браузер (localhost и т.д.) никакой реакции, пока не произведу вышеуказанное действие, получается запускать апач монитор надо каждый раз для работы c сервером?

сделал чтоб консоль не закрывалась вот что пишет

AH00526: Syntax error on line 241 of C:/Server/bin/Apache24/conf/httpd.conf:

DocumentRoot must be a directory

наиболее вероятная причина в том, что Вы ставите не на диск C, либо поменяли пути, названия папок, либо не создали папки, о которых говорится в статье. Суть в том, что Apache не видит каталога c:/Server/data/htdocs/

Оказалось, что: нашёл решение проблемы по запарке каталог data создал в bin действительно на свежую голову думается лучше а то после работы ничего не мог понять))

Появилась проблема: до момента добавления строк

все работает, как надо. Но как только вставляю их в конец файла httpd.conf. выдает ошибку «the requested operation has failed». В логах

Необходимо установить Visual C++ Redistributable for Visual Studio 2017 (или любой другой более поздний).

Ошибки PHP в Windows

При запуске команды «c:Server\bin\Apache24\bin\httpd.exe -k restart» машина выдала следующее:

В папке PHP отсутствует файл php7apache2_4.dll, но имеются файлы php7.dll и php7phpdbg.dll.

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

Вчера настроил всё, всё работает, но вот перенёс сайт и выдало ошибку:

Дело в версии PHP. Обновите движок вашего сайта. Если обновлений нет, то нужно править исходный код, подробности смотрите в статье «Решение проблемы на PHP 7: Parse error: syntax error, unexpected T_NEW».

вот что написано на test.php

Ещё один вариант ошибки:

Создал в папке C:\Server\data\htdocs файл_test0000.html следующего содержания:

и получаю сообщение:

Данное расширение — mysql_connect() — устарело, начиная с версии PHP 5.5.0, и удалено начиная с PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Альтернативы для данной функции:

Fatal error: Call to undefined function mb_detect_encoding() in C:\server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177

Данная ошибка вызвана тем, что не подключено расширение mbstring. За это расширение в php.ini отвечает строчка

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

Тем не менее, теоретически, ошибка может быть вызвана тем, что из-за неправильной конфигурации Apache, файл php.ini вообще не «подхватывается» и PHP работает на дефолтных настройках, т.е. вообще без всех расширений. Но если это было бы так, то phpMyAdmin, в первую очередь пожаловался на то, что не определена другая функция (из-за отсутствия расширения отвечающего за связь с MySQL).

phpMyAdmin выдаёт ошибку http 500.

Ставлю сервер на Windows 7. Apache и MySQL встали нормально по Вашей инструкции. Дошёл до PHP. Скачал архив php-7.2.3-Win32-VC15-x64.zip. Добавил в конец файла httpd.conf строки по инструкции. Перезапускаю Apache.

Получаю в командной строке сообщение:

В файле error.log появились строчки:

То был другой архив: php-7.2.3-Win32-VC15-x86.zip.

Скачал х64 и все заработало!

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

Стоит только добавить в каталог к PHP файл php.ini с любыми настройками, перестают выполняться php-скрипты. Убираю файл, перезапускаю Apache — работает (естественно до момента работы с базами данных например, тогда начинает просить расширения)

Ответил сам пользователь: Оказалось, что в конфиге php по умолчанию выключена поддержка коротких тегов . Стоило ее включить и сразу все заработало 🙂

В логах веб-сервера при каждом запуске Apache появляются ошибки:

Как их исправить?

При использовании некоторых скриптов и CMS возникает ошибки:

Причина ошибки в том, что cURL настроена неправильно.

Чтобы cURL работала в Apache на Windows вам нужно:

1) Обязательно добавить PHP директорию в PATH (системные переменные среды). Как это сделать сказано чуть выше или здесь https://hackware.ru/?p=21#11

2) В файле C:\Server\bin\PHP\php.ini должна быть раскомментирована строка extension=curl

3) Необходимо скачать файл https://curl.haxx.se/ca/cacert.pem, затем в папке C:\Server\ создать новую папку с именем certs и в эту новую папку (C:\Server\certs\) переместите скаченный файл.

4) В файле C:\Server\bin\PHP\php.ini найдите строку

И замените её на

5) Перезапустите сервер.

Выполнила 1-6 и также увидела

При этом extension_dir = «C:\Server\bin\PHP\ext\» прописано именно так.

На других форумах пишут, что должно быть активно mbstring. Но мы его раскомментировали. Либо надо ещё что-то сделать ?

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

Если сервер перезапустили, а ошибка осталась, то одним из случаев может быть когда файл php.ini не подхватывается сервером. У меня получается так сделать, если при настройке Apache я добавляю строки

не добавляю или пишу её с ошибкой.

Чтобы убедиться, что дело именно в том, что не подхватывается файл php.ini, выполните phpinfo (); (в статье описано, как это сделать) и найдите там Loaded Configuration File. Если запись такая:

То дело именно в этом.

Правильно должно быть так:

Ответ пользователя: Оказалось, что php.ini-development надо было переименовать в просто php.

Что-то у меня проблема с кодировкой. Если utf-8, то нормально. А 1251 странно глючит.

Все вроде нормально. Упростил код до безобразия

Если файлу дать расширение html то в норме, а рсширение php — не работает, кракозябры идут, сам автоматом в utf перебрасывает.

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

Установка кодировки в коде файла или в файле .htaccess влияет только на то, как браузер будет трактовать этот файл, но не конвертирует его в другую кодировку.

То есть, допустим, ваш файл реально сохранён в кодировке utf-8. Вы указываете в качестве кодировки windows-1251. И это работает: браузер трактует ваш файл как windows-1251, но показывает крякозяблы, поскольку на самом-то деле это utf-8.

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

Если кодировка правильная, то для PHP файла безотказно работает

Эта функция отправляет нужную кодировку в заголовке. Она должна идти до любого вывода текста на экран. Кодировку поменяйте на свою.

У меня есть целая статья про кодировку «Решение проблем неправильной кодировкой веб-страницы». Там в конце показано, как проверить HTTP заголовки с помощью cURL, которые отправляются сервером.

Программа curl есть и в Windows, поэтому если у вас прям ничего не получится, то напишите, что выводит curl.

Читайте также:  Windows 10 пропали все стандартные приложения

Ошибки MySQL/MariaDB в Windows

Found option without preceding group in config file

Ошибка в конфигурационном файле my.ini — пропущена секция [mysqld] или что-то подобное.

MySQL сервер не запускается

Если MySQL не запускается, а в журнале ошибок вы видите строки Column count of mysql.user is wrong. Expected 51, found 49. The table is probably corrupted (количество колонок не соответствует ожидаемому, возможно таблица повреждена), а также Cannot load from mysql.tables_priv. The table is probably corrupted! (не получается прочитать из таблицы, возможно таблица повреждена), например:

Если у вас что-то подобное, то попробуйте выполнить обновление.

Для этого переходим в папку с установленной СУБД (у вас путь может быть другим):

Я запустил программу для обновления баз данных при переходе на новую версию MySQL:

Но она мне сообщила:

В этом сообщении сказано, что клиент mysql_upgrade теперь устарел. Его функции по обновлению выполняет сам сервер автоматически. Чтобы запретить обновление, нужно запустить с опцией —upgrade=NONE. Для запроса обновления, нужно запустить с опцией —upgrade=FORCE.

Я запустил следующим образом:

и проблема с чтением таблиц была решена.

Системная ошибка 1067.

При попытке запуске MySQL или MariaDB может возникнуть ошибка:

Ошибка связана с тем, что не была выполнена инициализация базы данных — это необходимо сделать один раз после установке. В процессе инициализации создаётся необходимая для работы СУБД база данных, в которой храниться техническая информация (например, созданные пользователи, информация о таблицах и так далее).

Если у вас указанная выше ошибка возникла в MySQL, то выполните команды:

В этих командах исполнимые файлы MySQL расположены в папке C:\Server\bin\mysql-8.0\, расположение базы данных взято из файла my.cnf (переменная datadir).

а база данных должна быть создана в C:\Server\data\DB\data\. Если у вас другое расположение файлов, то отредактируйте предыдущие команды под ваши условия.

Если у вас указанная выше ошибка возникла в MariaDB, то выполните команды:

В этих командах исполнимые файлы MariaDB расположены в папке C:\Server\bin\mariadb, а база данных должна быть создана в C:\Server\data\DB\data\. Если у вас другое расположение файлов, то отредактируйте предыдущие команды под ваши условия.

Ошибки «Can’t create test file c:\Server\data\DB\data\MiAl-PC.lower-test» и «Can’t change dir to ‘c:\Server\data\DB\data\’ (Errcode: 2 «No such file or directory»)»

Если во время инициализации или при запуске службы СУБД у вас возникли примерно следующие ошибки:

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

Ошибки InnoDB: Operating system error number 87 in a file operation и File .\ib_logfile101: ‘aio write’ return OS error 187.

Если инициализация завершилась неудачей и в папке C:\Server\data\DB\data\ недостаёт файлов, а в логе ошибок C:\Server\data\DB\data\*.err вы видите примерно следующие записи:

То для решения этой проблемы удалите всё содержимое папки C:\Server\data\DB\data\ и в файл my.ini добавьте ещё одну строчку:

Теперь инициализируйте MySQL ещё раз:

Исправление MySQL после неудачной инициализации

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

В этом случае нужно остановить MySQL сервер:

Очистите содержимое папки C:\Server\data\DB\data\ (удалите всё из неё).

Теперь инициализируйте MySQL ещё раз:

Подскажите, пожалуйста, почему при инициализации MySQL 8.0.13 в каталоге C:\Server\data\DB\data\ ничего не появляется. Все файлы появляются в каталоге C:\Server\bin\mysql-8.0\data. В файле ошибок SVO5195.err (находится в C:\Server\bin\mysql-8.0\data) следующая информация:

Папка C:\Server\data\DB\data\ прописана в файле my.ini.

Получается причина ошибки только одна: вы или не создали файл my.ini, или создали его неправильно, или создали его не в том месте, или не записали туда директиву с C:\Server\data\DB\data\ — то есть что-то такое.

Ответ пользователя: Разобрался. Причина была в том, что я создавал файл my.ini.txt вместо my.ini. Не обратил внимания на отображение расширений в Проводники. Ошибка — глупая, но, думаю, сократит многим новоначальным время, если её указать.

Я устанавливал себе MariaDB по вашей статье и возникла ошибка 1067. Что мне делать?

Внимание: этот ответ подходит только для MariaDB 7.3 и более ранних версий!

Любые ошибки возникают только если хоть в чём-то отойти от мануала. Вы пропустили это:

Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\.

Захожу http://localhost/phpmyadmin/index.php ввожу лог root а мне пишет ошибка — Невозможно подключиться к серверу MySQL.

Такая ошибка возникает если не установлен или не запущен сервер MySQL. Внимательнее изучите инструкции https://hackware.ru/?p=21 и https://hackware.ru/?p=7033

При установке Mysql когда я набираю в консоль mysql -u root, выдается ошибка ERROR 2003, can’t connect to mysql (10061), добавлю что открыл порт 3306 в брандмауре

Это точно такая же ситуация как и в предыдущей ошибке: она возникает если не установлен или не запущен сервер MySQL. Внимательнее изучите инструкции https://hackware.ru/?p=21 и https://hackware.ru/?p=7033

Эта версия mysqld.exe не совместима с Windows, работающей на этом компьютере

При попытке установить MySQL, либо при любой попытке запустить какой-либо исполнимый файл MySQL может возникнуть ошибка:

Причина ошибки в том, что делается попытка установить MySQL на 32-битный Windows. Архив «Windows (x86, 64-bit), ZIP Archive» содержит в себе только версию для 64-битных систем (хотя название файла название может сбить с толку).

В виде отдельного портативного архива MySQL больше недоступна для 32-битных систем.

Из этой ситуации есть два выхода:

  1. воспользоваться установщиком MySQL Installer (он на той же странице, где вы скачивали MySQL — большой такой банер). Как сказано в описании, там «все продукты MySQL» — что нужно и что не нужно, в том числе 32-битная версия. Установка проходит в графическом интерфейсе, настройка тоже выполняется из графического интерфейса и, как бы это не было странно, занимает больше времени, чем установка из портативного архива. Но, в принципе, ничего сложного;
  2. перейти на MariaDB. Это улучшенная версия MySQL, которая является бесплатной, но в ней собраны функции платных вариантов MySQL. Портативный архив с версией для 32-битных систем имеется. Сейчас много кто перешёл с MariaDB на MySQL (в том числе хостинги). У меня на компьютере тоже установлена именно MariaDB вместо MySQL. Инструкция по установке всего веб-сервера здесь: https://hackware.ru/?p=7033 (там точно такая же инструкция как и здесь, но вместо MySQL показана установка MariaDB). Что касается работы сайтов, то для них MySQL и MariaDB абсолютно равнозначны.

После выполнения команд :

база данных в C:\Server\data\DB\data\ не создаётся.

Выяснилось, что файл my.ini был создан как my.ini.txt. Также причинами может быть то, что файл my.ini не был создан вовсе или в него неправильно скопировали настройки.

я попыталась выполнить «инициализацию и установку» через командную строку от имени администратора. Введя первую строку (C:\Server\bin\mysql-8.0\bin\mysqld —initialize-insecure —user=root) я получила ответ, что системе не удается найти путь.

Неверно названы папки, либо при сооздании папок для сервера что-то сделано неправильно.

Также попробовала из самой папки C:\Server\bin\mysql-8.0\bin\ открыть файл mysqld.exe (подумала,что именно его я открываю в командной строке), тут появилась системная ошибка, что «Не удается продолжить выполнение кода, поскольку система не обнаружила VCRUNTIME140_1.dll. Для устранения этой проблемы попробуйте переустановить программу.»

Файл VCRUNTIME140_1.dll не найден потому что не установили Visual C++ Redistributable for Visual Studio 2015-2019.

Ошибки phpMyAdmin в Windows

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

При первоначальном запуске phpMyAdmin получила ошибку

Возможные причины ошибки:

В файле php.ini не раскомментирована строка:

В файл httpd.conf не добавлена или записана с ошибкой строка:

Файл php.ini имеет неверное имя, например, вы забыли его переименовать из php.ini-development.

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

Найдите поле Loaded Configuration File, там должны быть перечислены загруженные конфигурационные файлы, например:

Если у вас так, как показано выше, значит файл php.ini используется, но расширение mysqli не активировано (см. 1й пункт выше).

вместо панели управления вижу код:

Сервер Apache работает без PHP

Ответ пользователя: Перезапустил и обновил браузер все получилось

Столкнулся вот с какой проблемой — после расширения возможностей phpmyadmin и попытке войти под пользователем pma, выскакивает ошибка: #1045 Невозможно подключиться к серверу MySQL. Под root всё в порядке. Если знаете в чем проблема, подскажите пожалуйста как её исправить?! Хочется взглянуть на эти дополнительные возможности phpmyadmin)

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

Apache, PHP и MySQL установились без проблем, но когда я дошла до 6-го пункта (phpMyAdmin), получила сообщение об ошибке:

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 раскомментированы, все делала четко по инструкции. Но все равно ошибка.

С чем это может быть связано и как исправить?

перезагрузила — все работает)))

У меня при установке phpMyAdmin возникла проблема:

Если так, то это ошика исключительно версии phpMyAdmin 4.3.2 . Тикет ошибки: http://sourceforge.net/p/phpmyadmin/bugs/4653/

1) пользоваться phpMyAdmin из ветки 4.2,

2) подождать пока починят.

Вопросы и ответы по веб-серверу в Windows

Я хочу потренироваться в администрировании сайта на WordPress или Я изучаю программирование PHP для WordPress, как мне установить эту CMS на свой локальный сервер в Windows?

Могут ли мой веб-сервер взломать?

Да, по умолчанию безопасности веб-сервера не уделено никакого внимания — задача минимум, заставить его работать на Windows. Сразу после успешной установки и проверки, настоятельно рекомендуется перейти ко второй стадии: «Как защитить веб-сервер Apache от взлома в Windows».

У меня есть уже готовый сайт всё настроил.как сделать чтоб его стало видно из интернета?

Как настроить поддомены и виртуальные хосты?

Подробная инструкция «Настройка Apache в Windows» в разделе Подключение виртуальных хостов Apache в Windows.

Скажите пожалуйста где вы взяли файл C:/Server/bin/PHP/php5apache2_4.dll

А то у меня ругается апач на его отсутствие

Этот файл с самого начала есть в архиве php-5.5.9-Win32-VC11-x64.zip , который скачиваю с официального сайта.

Если в Вашем архиве нет этого файла, скорее всего, Вы скачали или старую версию (5.4.*, 5.3.*) или Non-Thread Safe (NTS) версию.

Если файл C:/Server/bin/PHP/php5apache2_4.dll присутствует, но Apache выдаёт ошибку, значит проблема в настройке Apache.

Ссылки на «правильный» PHP:

А что, если после установки MySQL 5.4.16 не появилось окошко настроек «MySQL Server Instance Configuration Wizard»?

Что делать? Как настраивать?

Значит вы скачали не установщик, а zip-архив. Лично мне ручная установка MySQL кажется более простой и гибкой. Как это сделать описано здесь.

Как поменять пароль для MySQL?

Для задания нового пароля MySQL в командной строке:

Как прописать переменные среды для MySQL в Windows?

Откройте «Мой компьютер» (у меня называется «Этот компьютер» — не суть). Там выберите «Свойства системы». Дальше выберите «Дополнительные параметры системы». В открывшемся окне на вкладке «Дополнительно» нажмите «Переменные среды». Там два окошечка, смотрите на то, которое называется «Системные переменные». Находите переменную «Path». Кликаете два раза на ней. В «Значение переменной» уже много-много чего понаписано. Добавляете туда (например, вставьте в самое начало) строку (если у вас MySQL):

Или (если у вас MariaDB):

Нажмите везде ОК, чтобы закрылись все окна. Сразу, даже без перезагрузки можно работать в командной строке и вызывать MySQL как mysql — полный путь прописывать до бинарника не нужно.

Хостинг, которым пользуется автор этих инструкций на протяжении 10 лет и где размещены этот и другие сайты с инструкциями: здесь. Для получения бесплатного месяца и других бонусов, указывайте промокод b33e0e2f

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

Читайте также:  Удалить каталог с содержимым линукс

Связанные статьи:

  • Как установить веб-сервер Apache с PHP, MySQL и phpMyAdmin на Windows (92%)
  • Установка Apache, PHP, MySQL и phpMyAdmin на Windows XP (59.8%)
  • Готовая сборка Apache для Windows XP (59.8%)
  • Решение проблемы «AH00369: Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator?» (58.9%)
  • Ошибка «You’re speaking plain HTTP to an SSL-enabled server port» (РЕШЕНО) (58.9%)
  • Как включить mod_rewrite в Windows (RANDOM — 50.8%)

Comments

Здравствуйте! При первоначальном запуске phpMyAdmin получила ошибку

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

В файле php.ini должна быть раскомментирована строка

В качестве значения нужно указать абсолютный путь до папки ext, у меня эта папка находиться по пути C:\Server\bin\PHP\ext\, тогда моя строка выглядит так:

Также в этом же файле нужно расскомментировать строку:

Чтобы изменения вступили в силу, нужно перезапустить веб-сервер.

Если это уже сделано, но ошибка осталась, значит в главном конфигурационном файле Apache httpd.conf нужно добавить директиву PHPIniDir с указанием абсолютного пути до папки PHP, где размещён файл php.ini. Допустим этот файл размещён в папке C:/Server/bin/PHP, тогда для правильного подключения PHP к Apache нужно в файл httpd.conf добавить следующие строки:

Чтобы изменения вступили в силу, нужно перезапустить веб-сервер.

Если у вас другие пути до файлов и папок, то отредактируйте директивы соответствующим образом.

Добры день. После установки Apache запускаю
httpd, ошибка: Не возможно запустить это приложение на вашем ПК.
Нашел в интернет возможное решение: остановить службу web хостинга. Но такой службы нет.

Приветствую! Может быть у вас 32-битная Windows, а вы выбрали 64-битный Apache? Или Windows для ARM устройств?

на Windows 10 pro

Разрядность ОС и процессор 64 бит

Тем не менее, за идею спасибо! ) пробую поставить версию apache32. Модуль запускается. Ошибка уша, есть новая, но это уже ошибка Apache, а не Windows.

Если у кого-то возникла такая же проблема как у меня (прописаны данные my.ini в документе txt, а не ini), мне помогло решение, описанное в этой же статье чуть выше «Исправление MySQL после неудачной инициализации». Все заработало!

Остался только один вопрос: неудачно установленные файлы безболезненно удалятся?

Что делать с этой ошибкой

[ERROR] bin\mysqld: unknown option ‘—initialize-insecure’

На Виндовс 10 устанавливаю

Я специально скачал последнюю версию и выполнил пробную установку — всё прекрасно работает:

Ищите ошибки на своей стороне — в чём именно вы отклонились от инструкции.

хотя была установка апача по инструкции

Разве у вас не xampp? Если нет и действительно устанавливали по инструкции, значит остались хвосты от xampp, в том числе в переменных окружения.

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

Установила веб-сервер на win10 по инструкции, все работает, проверяла на wordpress. Теперь нужно запустить другое приложение на серввере (wordpress удален), но в логе apache такая ошибка: script ‘C:/Server/data/htdocs/index.php’ not found or unable to stat, referer: http://localhost/

Не могли бы вы подсказать. как решить проблему?

Здравствуйте! Вы пытаетесь открыть адрес http://localhost/index.php, но в папке C:/Server/data/htdocs/ отсутствует файл index.php. Попробуйте открыть адрес http://localhost/ и посмотрите, какие файлы или папки там находятся.

Дело в том, что я не пытаюсь открыть адрес http://localhost/index.php, я пытаюсь открыть адрес http://localhost/application

где application -это папка в C:/Server/data/htdocs/

файл index.php в папке C:/Server/data/htdocs/ отсутсвует, в папке есть i.php, myphpadmin, application

Перейдите в папку application, то есть откройте ссылку http://localhost/application. И ещё смотрите 7. Использование сервера.

Такой же вопрос:

Установила веб-сервер на win10 по инструкции, все работает. Нужно запустить приложение (в папке приложения есть файл index.php) на сервере, но при вводе в адресную строку браузера «http://localhost/application/» или «http://localhost/application/" получаю ошибку 404.

В логах апача следующие записи:

The ‘Apache2.4’ service is restarting.
The ‘Apache2.4’ service has restarted.
winnt:notice] [pid 2448:tid 764] AH00424: Parent: Received restart signal — Restarting the server.
[Sat Feb 29 22:37:36.172572 2020] [mpm_winnt:notice] [pid 2448:tid 764] AH00455: Apache/2.4.41 (Win64) PHP/7.4.3 configured — resuming normal operations
[Sat Feb 29 22:37:36.172572 2020] [mpm_winnt:notice] [pid 2448:tid 764] AH00456: Apache Lounge VS16 Server built: Aug 9 2019 16:46:32
[Sat Feb 29 22:37:36.172572 2020] [core:notice] [pid 2448:tid 764] AH00094: Command line: ‘c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24’
[Sat Feb 29 22:37:36.172572 2020] [mpm_winnt:notice] [pid 2448:tid 764] AH00418: Parent: Created child process 8864
[Sat Feb 29 22:37:37.125118 2020] [mpm_winnt:notice] [pid 8864:tid 716] AH00354: Child: Starting 64 worker threads.
[Sat Feb 29 22:37:38.140739 2020] [mpm_winnt:notice] [pid 9964:tid 716] AH00364: Child: All worker threads have exited.
[Sat Feb 29 22:37:51.375471 2020] [php7:notice] [pid 8864:tid 1244] [client ::1:53202] PHP Deprecated: Cannot use «parent» when current class scope has no parent in C:\\Server\\data\\htdocs\\application\\class_general.php on line 148
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: file(C:/Server/data/htdocs//cs_data.dat): failed to open stream: No such file or directory in C:\\Server\\data\\htdocs\\application\\class_cs.php on line 27
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: Invalid argument supplied for foreach() in C:\\Server\\data\\htdocs\\application\\class_cs.php on line 28
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::__construct(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES) in C:\\Server\\data\\htdocs\\application\\class_db.php on line 23
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::set_charset(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 32
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::__construct(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 34
[Sat Feb 29 22:37:51.375471 2020] [php7:notice] [pid 8864:tid 1244] [client ::1:53202] PHP Notice: Undefined variable: err in C:\\Server\\data\\htdocs\\application\\class_db.php on line 34
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 90
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 94
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 96
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 90
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 94
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 96
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 90
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in

C:\\Server\\data\\htdocs\\application\\class_db.php on line 94
[Sat Feb 29 22:37:51.375471 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: db::query(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 96
[Sat Feb 29 22:37:51.390974 2020] [php7:warn] [pid 8864:tid 1244] [client ::1:53202] PHP Warning: mysqli::close(): Couldn’t fetch mysqli in C:\\Server\\data\\htdocs\\application\\class_db.php on line 45

Подскажите, пожалуйста, как решить эту проблему?

Самое серьёзное в этих логах то, что не найден файл C:/Server/data/htdocs//cs_data.dat — он и вызывает ошибку 404.

Следующая серьёзная проблема — невозможность авторизации в СУБД — неправильное имя пользователя или пароль.

И последующие ошибки из-за предыдущих двух или просто PHP код слишком старый.

Подскажите, пожалуйста, как решить эту проблему?

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

Не запускается служба mysql… Перепробовал и перепрочитал все что можно… вот что пишет в логе

C:\Server\bin\mysql-8.0\bin\mysqld (mysqld 8.0.19) starting as process 9840
[Server] No data dictionary version number found.
[Server] Data Dictionary initialization failed.
[Server] Aborting
[Server] C:\Server\bin\mysql-8.0\bin\mysqld: Shutdown complete (mysqld 8.0.19) MySQL Community Server — GPL.
[Server] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and ‘ERROR_FOR_DIVISION_BY_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.

Системная ошибка 1067 решилась только добавлением в my.ini строки:

на поиски этого решения ушло два дня, думаю многим это будет полезно

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

Проблема с установкой MySQL. При вводе команд

C:\Server\bin\mysql-8.0\bin\mysqld —initialize-insecure —user=root

net start mysql

служба не стартуется. Выяснилось что инициализация проходит некорректно. В логах MySQL приведена следующая информация:

2020-03-22T10:39:57.551032Z 0 [Warning] [MY-010915] [Server] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and ‘ERROR_FOR_DIVISION_BY_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2020-03-22T10:39:57.595141Z 0 [System] [MY-010116] [Server] c:\Server\bin\mysql-8.0\bin\mysqld.exe (mysqld 8.0.19) starting as process 9896
2020-03-22T10:39:58.498678Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2020-03-22T10:39:58.512775Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-03-22T10:39:58.525486Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-03-22T10:39:58.548348Z 0 [System] [MY-010910] [Server] c:\Server\bin\mysql-8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19) MySQL Community Server — GPL.

насколько я понял он не видит директорию с данными. Содержимое файла 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/» . Вроде бы все корректно, а инициализация не происходит. Соответственно и служба MySQL не стартуется 🙁 🙁 🙁

Возможных причин может быть две:

1. Всё-таки ошибка в пути до папки, чтобы проверить, в командной строке выполните команду

Если что-то покажет в этой папке, значит всё нормально.

2. Не используется файл my.ini. О такой ошибке часто писали, в результате оказывалось, что файл назван my.ini.txt — проверьте это — если будет выведена ошибка, значит файл my.ini как-то неправильно назван.:

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

c:\Server\data\DB\data>dir
Том в устройстве C имеет метку Acer
Серийный номер тома: 90A1-76B7

Содержимое папки c:\Server\data\DB\data

22.03.2020 13:39 .
22.03.2020 13:39 ..
22.03.2020 13:39 0 binlog.index
22.03.2020 13:39 802 LAPTOP-3LRLPFND.err
2 файлов 802 байт
2 папок 3 521 384 448 байт свободно

c:\Server\data\DB\data>dir C:\Server\bin\mysql-8.0\my.ini
Том в устройстве C имеет метку Acer
Серийный номер тома: 90A1-76B7

Содержимое папки C:\Server\bin\mysql-8.0

22.03.2020 13:39 149 my.ini
1 файлов 149 байт
0 папок 3 521 236 992 байт свободно

c:\Server\data\DB\data>
c:\Server\data\DB\data>cd c:/Server/bin/mysql-8.0/bin/

c:\Server\bin\mysql-8.0\bin>mysqld —print-defaults
c:\Server\bin\mysql-8.0\bin\mysqld.exe would have been started with the following arguments:
—sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES —datadir=c:/Server/data/DB/data/ —default_authentication_plugin=mysql_native_password

вроде бы все правильно показывается, а инициализация все равно не происходит… =(

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

Для инициализации можно указать любую директорию. Просто для теста в корне диска c: создайте папку test, то есть получается путь до папки c:\test и попробуйте инициализировать:

У меня уже служба MySQL запущена, но инициализация в другой папке всё равно проходит нормально.

В папке c:\test будут созданы разные файлы, в том числе и журнал ошибок — посмотрите его, если будут проблемы. Если вдруг инициализация пройдёт успешно, то попробуйте что-нибудь сделать с папкой c:/Server/data/DB/data/, например удалить и создать её заново. Проверьте, что в файле my.ini буква c в c:/Server/data/DB/data/ является латинской, а не русской.

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

Ну а так, судя по логам, не найдено расширение pdo_sqlite. Всё остальное в этой части логов не является фатальным.

Расширение pdo_sqlite включается в файле php.ini, чтобы изменения вступили в силу, нужно перезагрузить веб-сервер.

Если у вас другие вопросы, вроде «где файл php.ini» или «pdo_sqlite уже включено, но всё равно не работает» и т. п., то адресуйте их форуму по xampp. Я с этой сборкой не работаю и ничем помочь с ней не могу.

что посоветуете не могу открыть localhost/phpmysql , на странице только белый экран, ничего не выдает, иногда когда порты меняю выдает ошибку , я до этого еще несколко раз менял порты myadmın Несколько по другому .

Оцените статью