Установка веб-сервера (Apache 2.4, MySQL 9.0, PHP 8, phpMyAdmin) на Windows 10 [обновлено: сентябрь 2024]
Источник (некоторые моменты): "How to install web server on Windows 10 (Apache 2.4, PHP 8, MySQL 5.7 and phpMyAdmin)"
Инструкция проверена и исправлена для работы с последними компонентами (Apache 2.4.62, PHP 8.3.11, MySQL 9.0.1 и phpMyAdmin 6.0).
Установка веб-сервера на Linux:
- Если у вас Ubuntu, то вам подойдёт статья "Как установить веб-сервер Apache с PHP 7, MariaDB/MySQL и phpMyAdmin (LAMP) на Ubuntu 16.10".
- Если у вас Arch Linux, то вам подойдёт статья "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch".
Локальный сервер очень полезный инструмент. Он точно пригодиться веб-мастерам, программистам на PHP, тестерам на проникновение. Все программы, входящие в типичную установку веб-сервера, являются бесплатными, у всех у них открыт исходный код. Локальный веб-сервер потребляет минимум ресурсов и, на самом деле, его совсем нетрудно установить и настроить.
Эта инструкция расскажет о том, как установить локальный веб-сервер без использования готовых сборок. Этот способ имеет свои преимущества. Самыми важными из них являются: полный контроль на тем, что вы устанавливаете; возможность использовать самые последние версии программного обеспечения.
Если вы будете в точности следовать инструкции, то у вас обязательно всё заработает! Кроме тех, у кого Windows XP - если лу вас эта операционная система, то для вас сделана специальная инструкция.
Я покажу пример установки на Windows 10, но если у вас другая версия Windows, то пусть вас это не смущает - процедура везде идентичная. Я буду скачивать последние (самые свежие) на момент написания версии программ. Если к тому времени, когда вы читаете, выйдут новые версии, то скачивайте именно их.
Этапы установки:
- Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)
- Создание структуры веб-сервера
- Установка Apache 2.4
- Установка и настройка MySQL 9.0
- Установка и настройка PHP 8
- Установка и настройка phpMyAdmin
- Использование сервера и бэкап данных
- Дополнительная настройка PHP
- Дополнительная настройка phpMyAdmin
- Установка почтовой заглушки
- Добавление PHP директории в PATH на Windows
- Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed
- Настройка cURL в веб-сервере Apache на Windows
Вам также может пригодиться:
- Резервное копирование данных (сайты и базы данных) Apache в Windows
- Обновление сервера
- Дополнительный материал по настройке веб-сервера в Windows
- У меня ничего не работает
- Удаление сервера
- Как защитить веб-сервер Apache от взлома в Windows
- ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
1. Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)
Нам нужны:
- Apache (непосредственно веб-сервер)
- PHP - среда для работы PHP программ (требуется практически всеми веб-сайтами)
- MySQL - система управления базами данных (требуется большинством веб-сайтов)
- phpMyAdmin - очень удобный инструмент для управления базами данных
Официальный сайт разработчиков Apache это httpd.apache.org. Можно скачать Apache с этого сайта. Но официальная версия собирается с использованием старого компилятора, по этой причине она не работает с новыми версиями PHP. Авторы PHP рекомендуют Apache с сайта apachelounge.com/download. Поэтому для этой инструкции скачиваем Apache именно с сайта apachelounge.com/download.
Если у вас 64-битная версия Windows, то вы можете выбрать как 64-битную, так и 32-битную версию компонентов. Главное правило - все компоненты должны быть одной битности. Если у вас 32-битная версия Windows, то все компоненты должны быть 32-битными. Это не относится к phpMyAdmin, который написан на языке PHP. Для PHP программ понятие битности неприменимо.
PHP 8 скачайте со страницы https://windows.php.net/download/. Выберите версию Thread Safe, обратите внимание на битность. Если вы затрудняетесь, какой именно файл скачать, то посмотрите эту заметку.
Бесплатная версия MySQL называется MySQL Community Server. Её можно скачать на странице https://dev.mysql.com/downloads/mysql/. На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив. На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись - но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download». Обратите внимание на битность.
Сайт для скачивания phpMyAdmin phpmyadmin.net.
Ещё нам нужен файл Visual C++ Redistributable for Visual Studio 2015-2022, т.е. Распространяемый компонент Visual C++ для Visual Studio 2015-2022 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии; прямая ссылка на скачивание 32-битной версии).
Итак, у меня скачались следующие файлы:
- httpd-2.4.29-Win64-VC15.zip
- php-8.0.0-Win32-vs16-x64.zip
- mysql-9.0.1-winx64.zip
- phpMyAdmin-4.7.6-all-languages.zip
- vc_redist.x64.exe
Установите файл vc_redist.x64.exe.
Важное примечание при работе с расширениями файлов. Если вы используете Проводник Windows для создания и переименования конфигурационных файлов, помните, что по умолчанию он не показывает файловое расширение, поэтому вы можете видеть my.ini, но на самом деле это файл my.ini.txt. Поэтому сервер не видит этот файл и не применяет настройки из него, что ведёт к ошибкам.
Поэтому при создании файлов:
- либо используйте Double Commander (Бесплатный аналог Total Commander), эта программа всегда показывает расширения файлов, и вообще очень хороший кроссплатформенный, с открытым исходным кодом двухоконный менеджер файлов
- либо включите показ расширений файлов в Проводнике, об этом рассказано в краткой инструкции «Как сделать так, чтобы Windows показывала расширения файлов»
2. Создание структуры веб-сервера
Создадим структуру каталогов нашего сервера. Главная идея - разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.
В корне диска C:\ создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data.
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data.
Карта важных папок, которые упоминаются в данной инструкции:
C:. └── Server ├── bin │ ├── Apache24 │ │ └─── conf │ ├── mysql-9.0 │ ├── PHP │ └── Sendmail ├── certs ├── data │ ├── DB │ │ └─── data │ └── htdocs │ └─── phpmyadmin └── manage
3. Установка Apache 2.4
Содержимое скаченного архива (точнее говоря, только каталог 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"
на
DocumentRoot "c:/Server/data/htdocs"
меняем
<Directory "${SRVROOT}/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/ и видим следующее:
Это означает две вещи:
- Apache работает
- в каталоге c:\Server\data\htdocs\ нет ни одного файла.
Можете поиграться — добавить в каталог любые html-файлы — полноценный веб-сервер работает.
4. Установка и настройка MySQL 9.0
В каталог bin распаковываем файлы MySQL (из архива mysql-9.0.1-winx64.zip). Переименовываем папку mysql-9.0.1-winx64 в mysql-9.0 (для краткости). Кстати, распакованная папка 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.
5. Установка и настройка PHP 8
В папке c:\Server\bin\ создаём каталог PHP и копируем в него содержимое архива php-8.0.0-Win32-vs16-x64.zip.
В файле 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.
6. Установка и настройка phpMyAdmin
В каталог c:\Server\data\htdocs\ копируем содержимое архива phpMyAdmin-4.5.1-all-languages.zip. Переименовываем phpMyAdmin-4.5.1-all-languages в 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. Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:
7. Использование сервера и бэкап данных
В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например:
c:\Server\data\htdocs\test\ajax.php – этот файл, соответственно, будет доступен по адресу http://localhost/test/ajax.php и т.д.
Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\.
Перед обновлением модулей, делайте бэкап папки bin – в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.
При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
- c:\Server\bin\Apache24\conf\httpd.conf
- c:\Server\bin\mysql-9.0\my.ini
- c:\Server\bin\PHP\php.ini
- c:\Server\data\htdocs\phpMyAdmin\config.inc.php
В них и хранятся все настройки.
8. Дополнительная настройка PHP
PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:
memory_limit = 128M
устанавливает максимальное количество памяти, которое может использовать скрипт
post_max_size = 8M
устанавливает максимальное количество данных, которые будут приняты при отправке методом POST
;default_charset = "UTF-8"
устанавливает кодировку (по умолчанию, строка закомментирована)
upload_max_filesize = 2M
максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер – только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.
max_file_uploads = 20
максимальное количество файлов для загрузки за один раз
max_execution_time = 30
максимальное время выполнения одного скрипта
Менять эти настройки совершенно необязательно, но полезно о них знать.
9. Дополнительная настройка phpMyAdmin
Мы уже настроили phpMyAdmin и большинству вполне достаточно базового функционала. Тем не менее, на стартовой странице phpMyAdmin есть надпись: «Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».
Новыми возможностями являются:
- показ связей между (связанными) таблицами;
- добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
- создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
- отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
- создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
- история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
- дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
- информация о недавно использованных таблицах;
- настройка интерфейса часто используемых таблиц;
- слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
- пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
- настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
- спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
- и другие
Сейчас мы настроим эти дополнительные возможности в полной мере. Перейдите по ссылке http://localhost/phpmyadmin/chk_rel.php и кликните "Создать базу данных". После этого все новые функции будут активированы.
Несколько скриншотов новых функций:
1) Дизайнер
2) Слежение
10. Установка почтовой заглушки
В каталоге C:\Server\bin\ создайте новый каталог с названием Sendmail. Теперь в этом каталоге создайте файл sendmail.php со следующим содержимым:
#!/usr/bin/env php <?php /* PHP.INI * [mail function] * ;SMTP = localhost * ;smtp_port = 25 * ;sendmail_from = me@example.com * sendmail_path = php.exe sendmail.php --dir C:\mail --open */ $is_windows = stristr(PHP_OS, 'WIN'); $options = getopt("", ['open', 'prepend', 'file:', 'dir:']); $is_open = isset($options['open']); $is_prepend = isset($options['prepend']); $is_onefile = isset($options['file']); $mail_dir = isset($options['dir']) ? $options['dir'] : sys_get_temp_dir() . '/mail'; $file_name = isset($options['file']) ? $options['file'] : mkname(); $file_path = $mail_dir . '/' . $file_name; if (!is_dir($mail_dir)) { mkdir($mail_dir, 0777, TRUE); if (!is_dir($mail_dir)) { die('Mail folder [' . $mail_dir . '] not created'); } } $stream = $is_onefile ? PHP_EOL . str_repeat("-=", 10) . date('Y-m-d H:i:s') . str_repeat("-=", 10) . PHP_EOL : ''; while (false !== ($line = fgets(STDIN))) { //$stream .= ($is_windows ? str_replace("\n", PHP_EOL, $line) : $line); $stream .= $line; } if ($is_prepend && file_exists($file_path)) { $file_contents = file_get_contents($file_path); $stream .= $file_contents; } file_put_contents($file_path, $stream, $is_prepend ? 0 : FILE_APPEND); if ($is_open && $is_windows) { pclose(popen("start /B notepad " . $file_path, "r")); } function mkname($i = 0) { global $mail_dir; $fn = 'mail_' . date('Y-m-d_H-i-s_') . $i . '.eml'; return file_exists($mail_dir . '/' . $fn) ? mkname( ++$i) : $fn; }
Откройте конфигурационный файл PHP, он размещён здесь C:\Server\bin\PHP\php.ini. И добавьте туда одну строчку:
sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"
Сохраните файл и перезапустите сервер. Отлично, теперь все отправленные письма будут сохраняться в каталоге C:\Server\bin\Sendmail\emails\
Письма будут иметь расширение .eml и их можно открывать, например, программой Thunderbird. Либо обычным текстовым редактором.
11. Добавление PHP директории в PATH на Windows
Если этого не сделать, то могут быть проблемы с некоторыми модулями PHP, в том числе с php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. По крайней мере, при запуске сервера каждый раз в логах появляется следующее:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_curl.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_intl.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_ldap.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0
Чтобы избежать этих предупреждений, нужно добавить в системные переменные среды путь до PHP.
Нажмите кнопку Пуск (или как там она называется на Windows 10?), начните набирать «Изменение системных переменных среды» и откройте соответствующее окно настроек.
Там нажмите «Переменные среды»:
В окне «Системные переменные» найдите и кликните на Path, потом нажмите «Изменить»:
Далее «Создать» и впишите туда «C:\Server\bin\PHP\»:
Поднимите запись в самый вверх:
Закройте все окна с сохранением сделанных изменений.
Перезапустите сервер.
12. Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed
Если ваш сервер даже без нагрузки «зависает» - не показывает веб-страницы до перезапуска, а в логах сервера ошибки Asynchronous AcceptEx failed:
[Thu Jun 05 07:24:55.747090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations [Thu Jun 05 07:24:55.747090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 [Thu Jun 05 07:24:55.747090 2014] [core:notice] [pid 1784:tid 444] AH00094: Command line: 'c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24' [Thu Jun 05 07:24:55.748090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00418: Parent: Created child process 4952 [Thu Jun 05 07:24:55.957978 2014] [mpm_winnt:notice] [pid 4952:tid 388] AH00354: Child: Starting 64 worker threads. [Thu Jun 05 07:26:16.695036 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 07:26:16.695036 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 07:26:48.250710 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 07:26:48.250710 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 07:29:27.137784 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 07:29:27.137784 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
То в конфигурационный файл Apache добавьте:
AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off
13. Настройка cURL в веб-сервере Apache на Windows
Если вы не знаете, что такое cURL, значит это вам не нужно. Т.е. смело пропускайте этот шаг.
cURL – это консольная утилита, которая позволяет обмениваться данными с удалёнными серверами, используя очень большое количество протоколов. cURL может использовать кукиз и поддерживает аутентификацию. Если для веб-приложения требуется cURL, то это должно быть указано в зависимостях. Для многих популярных приложений cURL не требуется, например, для phpMyAdmin и WordPress нет необходимости настраивать cURL.
Если cURL настроена неправильно, то вы будете получать ошибки:
Fatal error: Call to undefined function curl_multi_init() in …
Или:
Ошибка curl: SSL certificate problem: unable to get local issuer certificate
Чтобы 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 найдите строку
;curl.cainfo =
И замените её на
curl.cainfo = C:\Server\certs\cacert.pem
5) Перезапустите сервер.
14. Резервное копирование данных (сайты и базы данных) Apache в Windows
Вся значимая информация, т.е. файлы сайтов и их базы данных хранятся в папке C:\Server\data\. Резервную копию на тот случай, если первоначальные данные испортились, можно делать двумя способами.
Первый способ заключается в том, что мы просто делаем копию всех файлов (сайты+базы данных) в безопасное место. Это простой метод и для большинства он будет самым удобным.
Нужно начать с того, что остановить MySQL, поскольку пока она не остановлена, некоторые файлы баз данных открыты и не могут быть правильно скопированы:
net stop mysql
Теперь просто скопируйте в любое надёжное место папку C:\Server\data\. Она уже содержит и базы данных (подпапка C:\Server\data\DB\) и все сайты (подпапка C:\Server\data\htdocs\). Когда копирование будет завершено, вновь запустите службу MySQL:
net start mysql
Если вам понадобиться восстановить все сайты, либо отдельные сайты, либо только отдельные файлы сайта, то это можно делать без остановки веб-сервера.
Если нужно будет восстановить базы данных, то вновь нужно будет остановить MySQL и вернуть исходные файлы C:\Server\data\DB\.
Обратите внимание, что если вы полностью возвращаете исходную папку C:\Server\data\, то происходит полный откат всех данных, т.е. все изменения, сделанные после создания резервной копии, исчезнут!
Второй метод резервного копирования заключается в экспорте баз данных (это делается при запущенной службе MySQL) и создании бэкапа только папки сайтов C:\Server\data\htdocs\. Этот способ чуть сложнее, но вы можете контролировать, какие именно базы данных вы желаете экспортировать. Также в таком виде (базы данных в виде файлов .SQL и файлы сайтов) удобно переносить сайты на другой веб-сервер или хостинг. Подробности о том, как выполнять экспорт баз данных здесь.
Обычно это не требуется, но при желании вы можете сделать резервную копию бинарных (исполнимых) файлов сервера. Все эти файлы находятся в папке C:\Server\bin\. Это Apache, MySQL и PHP – т.е. программы, которые отвечают за работу сервера, но которые мы в любой момент можем скачать с официальных сайтов и вновь настроить.
Если вы хотите сделать их резервную копию (например, перед обновлением сервера), то остановите службы:
c:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql
И скопируйте в безопасное место папку C:\Server\bin\.
Кстати, вы можете скопировать весь сервер целиком, т.е. папку C:\Server\ - в этом случае одновременно получиться резервная копия и исполняемых файлов, и данных (базы данных, сайты).
Когда копирование завершено, вновь запустите службы:
c:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql
15. Обновление сервера
Все компоненты, составляющие веб-сервер, активно развиваются и регулярно выходят новые версии. При выходе новой версии вы можете обновить один какой-то компонент (например, PHP), или сразу несколько.
Обновление Apache
Скачайте архив с новой версией Apache.
Скопируйте в безопасное место файл c:\Server\bin\Apache24\conf\httpd.conf.
Остановите и удалите службу Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall
Удалите папку C:\Server\bin\Apache24\ (это не затронет ваши сайты и базы данных).
Распакуйте новый архив в C:\Server\bin\. Скопируйте сохранённый ранее файл httpd.conf в c:\Server\bin\Apache24\conf\httpd.conf.
Запустите службу Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k install c:\Server\bin\Apache24\bin\httpd.exe -k start
Обновление PHP
Скачайте архив с новой версией PHP.
Скопируйте в безопасное место файл c:\Server\bin\PHP\php.ini.
Удалите папку C:\Server\bin\PHP\.
Распакуйте новый архив в C:\Server\bin\PHP.
Скопируйте сохранённый ранее файл php.ini в c:\Server\bin\PHP\php.ini.
Перезапустите службу Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k restart
Обновление MySQL
Внимание: при обновлении с MySQL 5 до MySQL 8 требуются дополнительные действия. Смотрите подробности в статье: «Как обновиться с MySQL 5 до MySQL 8».
Скачайте архив с новой версией MySQL.
Скопируйте в безопасное место файл c:\Server\bin\mysql-9.0\my.ini.
Остановите и удалите службу MySQL:
net stop mysql c:\Server\bin\mysql-9.0\bin\mysqld --remove
Удалите папку C:\Server\bin\mysql-9.0\ (это не затронет ваши сайты и базы данных).
Распакуйте новый архив в C:\Server\bin\. Переименуйте папку в mysql-9.0.
Скопируйте сохранённый ранее файл my.ini в c:\Server\bin\mysql-9.0\my.ini.
Запустите службу MySQL:
C:\Server\bin\mysql-9.0\bin\mysqld --install net start mysql
Обновление phpMyAdmin
Скачайте архив с новой версией phpMyAdmin.
Скопируйте в безопасное место файл c:\Server\data\htdocs\phpMyAdmin\config.inc.php.
Удалите папку C:\Server\bin\phpMyAdmin\ (это не затронет ваши сайты и базы данных).
Распакуйте новый архив в C:\Server\data\htdocs\. Переименуйте папку в phpMyAdmin.
Скопируйте сохранённый ранее файл config.inc.php в c:\Server\data\htdocs\phpMyAdmin\config.inc.php.
16. Дополнительный материал по настройке веб-сервера в Windows:
-
Самая главная информация, особенно если вы собираетесь использовать веб-сервер в качестве публичного: «Как защитить веб-сервер Apache от взлома в Windows». Если у вас белый (внешний) IP и вы не сделаете так, как написано в инструкции, то вас почти наверняка взломают
и украдут все полимеры. - Настройка Apache в Windows (виртуальные хосты, резервная копия БД, батник для управления сервером)
- Как установить WordPress в Windows
- Контроль доступа к сайту (блокировка по IP)
- Как веб-сервер на своём компьютере сделать доступным для других
Разнообразная информация об Apache в Windows, о настройках и использовании на apache-windows.ru
17. У меня ничего не работает
Данная инструкция регулярно проверяется и тестируется с самыми новыми компонентами. Поскольку инструкция объёмная, то возникновение ошибок может быть связано с тем, что вы что-то пропустили или сделали неправильно. Для начала попробуйте всё удалить и сделать всё заново.
За годы существования этой инструкции было собрано много типичных ошибок, возникающих в веб-сервере, все они вместе с решением проблем описаны на отдельной странице «Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin». Там же написано, как правильно описать свою проблему, чтобы вам помогли с ней разобраться.
Если у вас что-то не работает, то просьба перед тем, как задать вопрос в комментариях, выполнить поиск по данной странице ошибок. Для этого вы можете использовать Ctrl+F в вашем браузере и искать по части строки ошибки.
Бывает редкая ошибка, связанная с тем, что какая-то другая программа уже прослушивает 80й порт. Чтобы определить, занят ли уже порт 80 сделайте так:
1) нажмите сочетание клавиш WIN + x
2) из открывшегося списка выберете «Windows PowerShell (администратор)»
3) выполните там:
Get-NetTcpConnection -State Listen | Where-Object {$_.LocalPort -eq '80'} | Select-Object LocalAddress,LocalPort,OwningProcess,@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess).ProcessName}} | Format-Table
Если какая-то программа уже висит на 80-м порту, то вы её увидите.
Я собрал архив, который включает в себя все описанные здесь компоненты веб-сервера для Windows, которые уже правильно настроены. Т.е. вам достаточно просто распаковать этот архив, и вы получите готовый Apache. Подробности здесь: apache-windows.ru
Удаление сервера
Если сервер вам больше не нужен, либо вы хотите установить его заново, остановите службы и удалите их из автозапуска последовательно выполнив в командной строке:
c:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-9.0\bin\mysqld --remove
Удалите файлы сервера, для этого удалите папку C:\Server\. Внимание, это удалит все базы данных и ваши сайты.
Как защитить веб-сервер Apache от взлома в Windows
Смотрите статью «Как защитить веб-сервер Apache от взлома в Windows».
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
Если вы обновили СУБД с MySQL 8 до MySQL 9 и столкнулись с ошибкой
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
То исправить её вы можете с помощью следующей статьи: Ошибка 'mysqli::real_connect(): (HY000/1524): Plugin 'mysql_native_password' is not loaded' (РЕШЕНО)
Хороший хостинг с PHP (с выбором версий), с MySQL и phpMyAdmin. Данный сайт размещён именно на нём: отзывчивая и квалифицированная техническая поддержка, установка WordPress и других веб-приложений в одни клик, домены в подарок при оплате за год, бесплатный перенос сайта. При заказе хостинга по этой ссылке + 1 месяц бесплатно (промокод b33e0e2f).
Связанные статьи:
- Как установить веб-сервер (Apache, MySQL, PHP и phpMyAdmin) в Windows 11 (100%)
- Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows. Настройка безопасности локального веб-сервера (92.6%)
- Как защитить веб-сервер Apache от взлома в Windows (92.6%)
- Как установить WordPress в Windows (82%)
- Настройка Apache в Windows (76.1%)
- SSH (ч.5): Копирование файлов с помощью scp и sftp (RANDOM - 50%)
2 вопроса.
1) Зачем нужно менять текст:
# 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
Текст не который меняем тот же саймый.
2) Не получается установить Апачи изначально. Но у меня версия 2.4.18
У всех будет пробелма после распаковки phpmyadmin , будет требовать mb string. Авторы статьи допустили ошибку, не до конца указали путь PHPIniDir "C:/Server/bin/PHP", не хватает в конце PHP слеша PHPIniDir "C:/Server/bin/PHP/"
По это и ругается phpmyadmin и требует mbstring
Вы протестировали (что без слеша не работает, а со слешем работает) или это «в теории»?
Сейчас я специально перепроверил несколько раз, в том числе удалял PHP директорию из системного PATH (у некоторых этот путь не прописан), результат всегда один – есть слеш или его нет, разницы никакой.
именно протестировал. У меня небыло прописано в патч пути и все равно была ошибка, добавив его все равно ошибка. А вот как только дописал слеш сразу myadmin прогрузился и на странице инфо пхп подтянуло файл ини
При запуске команды "c:Server\bin\Apache24\bin\httpd.exe -k restart" машина выдала следующее:
Подскажите, что не так в этом мире?
Проверьте, в папке C:/Server/bin/PHP/ есть файл php7apache2_4.dll?
Чтобы наверняка, выполните в командной строке команду:
Как раз этого файла нет, есть "php7.dll" и "php7phpdbg.dll".
Какого содержания должен быть файл "
php7apache2_4
.dll"?
Вы скачали архив с версией для отладки. Посмотрите здесь, как правильно выбрать нужный файл.
Спасибо, с этой проблемой вроде разобрался. Но всплыла другая: на предыдущем шаге, после редактирования my.ini, инициализации и установки, должны были сгенерироваться файлы в директории C:\Server\data\DB\data\, этого не произошло. Предпринял предписанное добавление строки в my.ini, результат не изменился..
А при вводе в cmd -k restart выдает
C:\Windows\system32>c:\Server\bin\Apache24\bin\httpd.exe -k restart
AH00558: httpd.exe: Could not reliably determine the server's fully qualified do
main name, using fe80::539:3c4c:9ecd:ef34. Set the 'ServerName' directive global
ly to suppress this message
Вы делаете не по инструкции – об этом свидетельствует сообщение Apache. В комментариях уже два раза об этом спрашивали – для поиска по комментариям в веб-браузере нажмите Ctrl+f и ищите по фразе «Could not reliably determine the server».
Делайте по инструкции, не будьте «сам себе злобный Буратино». А если вам нравится самому себя создавать проблемы из ничего – то не надо в это вмешивать меня и тратить моё время своими вопросами.
Также смотрите здесь.
Сообствено почему было не добавить ссылку в статье на офиц. документацию Apache ??
https://httpd.apache.org/docs/2.4/
А толку?
На официальной документации есть следующие языки:
da | de | en | es | fr | ja | ko | pt-br | tr | zh-cn
Народ будет туда заходить, плеваться, и писать мне в комментариях, что нафига, если там вообще ничего непонятно?!
Кстати, даже при знании языка я бы по официальной документации не смог установить Apache — просто бы не разобрался.
Ну и в любом случае — вот теперь эта ссылка есть.
Строка datadir="c:/Server/data/DB/data/" должна быть без кавычек
В чём смысл? Из моей строки можно убрать кавычки и ничего не поменяется. Если кто-то размещает файлы с базами данных в другой папке, путь к которой содержит пробелы, то без кавычек просто не будет работать.
Начнём со второго вопроса, я тоже себе поставил последнюю версию Apache - эта инструкция полностью с ней совместима.
Ошибки возникают в двух случаях:
Вы напишите, какие у вас ошибки - посторяюсь помочь советом.
А теперь вернёмся к первому вопросу. Помните про невнимательность?
меняем
# 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
Всё заработало кроме SQL
Apache и php ставил не первый раз , так что тут проблем не возникло.
при вводе команды -
net start mysql
Выдаёт , - ошибка 2.
И всё!
Было то же самое.
Помогла перезагрузка компа. Все заработало.
На счет All правда не заметил. Пути и диски и папки все правильно пишу. Несоответсвие идет уже в коммандной строке, а потом нет надписи "Index of /". Кидаю скрин коммандной строки. Спасибо за помощь.
если у вас не первая установка Апач, и вы её уже проводили в командной строке, то вам необходимо деинсталировать изменения внесённые предыдущей установкой.
c:\Server\bin\Apache24\bin\httpd.exe -k
install
попробуйте вместо install - uninstall, мне помогло
У меня Windows 10, phpmyadmin не фурычит ошибка http 500, i.php инфу отображает, что я не так делаю,
Что у вас в файле C:\Server\bin\Apache24\logs\error.log ? Если большой, выложите на какой-нибудь файлообменник. Если не слишком большой, скопируйте содержимое прямо здесь, в комментарий.
Алексей, добрый день!
Ставлю сервер на Windows 7. Apach и MySQL встали нормально по Вашей инструкции. Дошел до PHP. Скачал архив php-7.2.3-Win32-VC15-x64.zip. Добавил в конец файла httpd.conf строки по инструкции. Перезапускаю Apach. Получаю в командной строке сообщение:
C:\Users\Администратор>c:\Server\bin\Apache24\bin\httpd.exe -k restart
httpd.exe: Syntax error on line 537 of C:/Server/Bin/Apache24/conf/httpd.conf: C
annot load C:/Server/bin/PHP/php7apache2_4.dll into server: %1 \xed\xe5 \xff\xe2
\xeb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec Win32.
В файле error.log появились строчки:
[Sun Mar 25 10:22:52.208678 2018] [mpm_winnt:notice] [pid 2608:tid 292] AH00455: Apache/2.4.33 (Win64) configured -- resuming normal operations
[Sun Mar 25 10:22:52.224278 2018] [mpm_winnt:notice] [pid 2608:tid 292] AH00456: Apache Lounge VC15 Server built: Mar 18 2018 12:58:47
[Sun Mar 25 10:22:52.224278 2018] [core:notice] [pid 2608:tid 292] AH00094: Command line: 'c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/Bin/Apache24'
[Sun Mar 25 10:22:52.224278 2018] [mpm_winnt:notice] [pid 2608:tid 292] AH00418: Parent: Created child process 2696
[Sun Mar 25 10:22:52.583079 2018] [mpm_winnt:notice] [pid 2696:tid 180] AH00354: Child: Starting 64 worker threads.
(дважды пытался сделать рестарт)
Не подскажете, что с этим делать?
С уважением
Дмитрий
Виноват, мой косяк! То был другой архив:
php-7.2.3-Win32-VC15-x86.zip.
Скачал х64 и все заработало!
Спасибо!
Продолжаю ставить.
У меня Windows 10. Ошибка в Apache. В error.log пишется: Starting the 'Apache2.4' service [Sun Sep 11 23:44:18.285669 2016] [mpm_winnt:crit] [pid 7688:tid 496] (OS 2)Не удается найти указанный файл. : AH00378: Failed to start the 'Apache2.4' service Starting the 'Apache2.4' service (OS 5)Отказано в доступе. : AH00373: Failed to open the 'Apache2.4' service
Alexandr, вы Виталий? Если вы не Виталий, то начать нужно с объяснения проблемы.
ДЛЯ ВСЕХ: прежде чем написать комментарий, читайте новый раздел: https://hackware.ru/?p=21#11
Выполнил все пункты 1- 6 в итоге вместо показанного на картинке phpMyAdmin вышло вот что:
Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in C:\server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc:177 Stack trace: #0 C:\server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio…') #1 C:\server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio…') #2 C:\server\data\htdocs\phpmyadmin\libraries\core.lib.php(306): __('The %s extensio…') #3 C:\server\data\htdocs\phpmyadmin\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 C:\server\data\htdocs\phpmyadmin\libraries\common.inc.php(102): PMA_checkExtensions() #5 C:\server\data\htdocs\phpmyadmin\index.php(13): require_once('C:\\server\\data\\…') #6 {main} thrown in C:\server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177
Выполните в командной строке
У вас в каталоге C:\Server появится файл tree.txt. Этот файл, а также ещё файлы:
запакуйте в архив, выложите на любой файлообменник и разместите здесь ссылку.
https://yadi.sk/d/OhViYLFvvPskC
если я правильно понял то это ссылка на архив на яндекс диске.
Нашел причину. У меня заработало только когда я четко задал путь до модулей
extension_dir = «C:/server/bin/PHP/ext»
В Вашей инструкции про это не сказано. Возможно я где то ранее ошибку допустил и у меня так заработало.
На моём компьютере, кстати, ваши конфигурационные файлы прекрасно работали. Как я выяснил, у меня путь до PHP был прописан в переменных среды – поэтому и работало.
Сейчас поправлю инструкцию.
В данной строке скорее всего ошибка? DirectoryIndex index.html index.php index.htm
DirectoryIndex устанавливает индексные файлы, т.е. тот файл, который будет отображён если открывается каталог без указания файла, например, http://localhost/test/ Поскольку файл не указан, то сервер будет искать index.html и если он есть в папке test, то отобразит его. Я к этому файлу добавляю ещё два index.php и index.htm.
index.php точно нужен, поскольку если он не указан, и вы откроете, например, http://localhost/phpmyadmin/, то вместо того, что ожидаете, увидите список файлов в каталоге. И чтобы увидеть веб-интерфейс вам придётся перейти по адресу http://localhost/phpmyadmin/index.php
Аналогично и с index.htm - .htm также популярное расширение.
Т.е. можно и без изменения этой директивы – сервер будет работать, но это добавит неудобство.
Здравствуйте, Алексей!
Я уже честно-честно замахалась искать ошибки и не находить, чистить и переустанавливать, читать комментарии, и пытаться снова, и опять не получать результата… Затык был на стадии "Не найден mysqli" после установки phpadmin. Стала читать снова комментарии и перешла по Вашей последней ссылке и "о, чудо" страница загрузилась абсолютно нормально. Зашла без пароля, как и положено и тд и тп… Но у меня директория прописана совершенно по инструкции (скрин прилагаю)…. Все пути, имена и тд всё перепроверяла несколько раз, но по ссылке из инструкции так и не смогла зайти, а с этой захожу сразу. Где собака порылась?
Заранее спасибо большое! Сама инструкция очень понятная и доступная.
Я не уверен, правильно ли понял вопрос. Проблема в том, что ссылка http://localhost/phpmyadmin/ не работает, а ссылка http://localhost/phpmyadmin/index.php работает?
Какая именно ошибка по «неправильной ссылке», вот эта вот:
?
Если у вас была ошибка "Не найден mysqli", а затем эта ошибка сама по себе исчезла, то ссылки здесь не при чём и директива DirectoryIndex здесь вообще не при чём. Просто значит MySQL при первой попытке не был загружен, а при второй попытке он уже успел загрузиться. В некоторых случаях MySQL загружается довольно медленно.
Да, Вы правильно поняли по поводу ссылок) Прошу прощения за не совсем внятное объяснение.
Я пыталась запустить MyAdmin гораздо больше, чем 2 раза… Раз 20 наверно)) Все время выскакивала ошибка, да именно "не найден mysqli", сейчас уже не воспроизведу ее точно( Но при переходе по ссылке http://localhost/phpmyadmin/index.php сразу же открылась старница со входом. Такие дела))
Пы.Сы. Я читала комментарии, потому что искала ошибки и Ваши ответы пользователям 😉
В любом случае, на данном этапе у меня все работает, буду дальше продвигаться)
Спасибо еще раз большое!
Не запускался PhpMyAdmin, так как не находил mysqli . Установлен php-7.3.5-Win32-VC15-x64. В папке "ext" нет mysqli.dll, т.к. называется php_mysqli.dll . Поменяв в config.inc.php (конфиг PhpMyAdmin) с $cfg['Servers'][$i]['extension'] = 'mysqli'; на $cfg['Servers'][$i]['extension'] = 'php_mysqli'; - админка запустилась. В инструкции наверное стоит написать о необходимости изменения названия файла.
Приветствую! Спасибо, что обратили внимание на это — видимо, опять что-то обновилось. Как будет время, разберусь в этом и подправлю инструкцию.
P.S.: Чтобы всё работало не надо читать комментарии — здесь в комментариях парад невнимательности, кто во что горазд пытается сделать что-то неправильно и затем здесь пишут каких успехов добились на этом поприще.
Просто внимательно делайте по инструкции и всё будет работать.
Делаю всё по инструкции. Gри запуске PHPMyAdmin поzвляется ошибка: "Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP". Версия PHPMyAdmin 5.0.2, ОС Windows10
Значит не всё — что-то пропустили или сделали с ошибкой.
Это обсуждалось уже очень много раз. Даже добавлено в список типичных ошибок, смотрите здесь.
Спасибо за ответ. Ошибку нашёл, плохо читал комментари. Нужно было изменить "mysqli" на "php_mysqli". После этого заработало.
Нет, это бессмыслица. В качестве подтверждения, можете вообще удалить строку $cfg['Servers'][$i]['extension'] = и вы убедитесь, что она вообще ни на что не влияет…
Проблема была в другом. А то, что оно у вас заработало — возможно, просто из-за перезагрузки сервера, которая была нужна чтобы уже сделанные изменения вступили в силу.
Для удачной установки, комментарии читать не только не нужно, но и вредно ))) Какую хрень мне здесь только не пишут, самый адъ я удаляю, конечно.
Здравствуйте Alexey,
Хочу поблагодарить за столь полезные инструкции, а самое главное все с первого раза заработало.
Большое спасибо!
Спасибо за добрые слова.
Здавсвтуйте Alexey,
Спасибо, все прекрасно поставилось и заработало, но вопрос такой а как дальше создать свои вир.хосты . Где прописать настйроки и какие ?
Посмотрите следующую часть: https://hackware.ru/?p=1612. Она ещё не завершена, но про виртуальные хосты материал уже готов.
Подскажите, сделал всё так же, всё работает, как теперь прописать хосты можно ? На линуксе прям в hosts прописывается)
Если вы говорите про виртуальные хосты, то посмотрите здесь.
А уменя вопрос такой. А как все удалить ? Ведь в рееестре наверно какие то следи остануться после удаления папок. И еще, как можно ускорить быстродействие сайта, а точто wordpress открывается не шибко быстро как сервере в интернете.
Я добавил раздел про удаление сервера: https://hackware.ru/?p=21#12
В реестр программы ничего не записывают. Всё, что им нужно, они хранят в конфигурационных файлах, настройка которых описана в этой инструкции.
Что касается скорости открытия, думаю, это связано исключительно с производительностью вашего компьютера. У меня локальный сервер бегает быстро, даже в маломощных виртуальных машинах. Хотя всё равно не понимаю, как сервер может работать медленно: он очень нетребователен к ресурсам, т.е. если на маломощном компьютере запускать браузер, то браузеру понадобиться несколько секунд для открытия. Серверу даже на слабой машине нужны доли секунды, чтобы сформировать страницу. Т.е. если вы открываете ярлык локалхоста и вам кажется, что он открывается долго, то может быть это просто долго запускается браузер?
Ну или какая-нибудь экзотическая ошибка, о которой я не знаю.
Добрый день.
Выполнила 1-6 и также увидела
Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc:177 Stack trace: #0 C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio…') #1 C:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio…') #2 C:\Server\data\htdocs\phpmyadmin\libraries\core.lib.php(306): __('The %s extensio…') #3 C:\Server\data\htdocs\phpmyadmin\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 C:\Server\data\htdocs\phpmyadmin\libraries\common.inc.php(102): PMA_checkExtensions() #5 C:\Server\data\htdocs\phpmyadmin\index.php(13): require_once('C:\\Server\\data\\…') #6 {main} thrown inC:\Server\data\htdocs\phpmyadmin\libraries\php-gettext\gettext.inc on line 177
При этом extension_dir = "C:\Server\bin\PHP\ext\" прописано именно так.
На других форумах пишут, что должно быть активно mbstring. Но мы его раскомментировали. Либо надо еще что-то сделать ?
Заранее спасибо!
После внесения изменений в файлы настроек нужно перезапустить сервер.
Если сервер перезапустили, а ошибка осталась, то одним из случаев может быть когда файл php.ini не подхватывается сервером. У меня получается так сделать, если при настройке Apache я добавляю строки
А строку
не добавляю или пишу её с ошибкой.
Чтобы убедиться, что дело именно в том, что не подхватывается файл php.ini, выполните phpinfo (); (в статье описано, как это сделать) и найдите там Loaded Configuration File. Если запись такая:
То дело именно в этом.
Правильно должно быть так:
Cпасибо за подсказку. Оказалось, что php.ini-development надо было переименовать в просто php.
Но у вас на скриншоте также Loaded Configuration File (none) . Вот и думала, что все правильно идет)
У меня была эта же проблема. Как только файл переименовала, ошибки mbstring не стало
Как раз таки у вас в описании ошибка. Вы не до конца указали путь PHPIniDir "C:/Server/bin/PHP", не хватает в конце PHP слеша PHPIniDir "C:/Server/bin/PHP/"
По это и ругается phpmyadmin и требует mbstring
Alexey, благодарю Вас за отличную, очень понятную и последовательную инструкцию по настройке сервера. Это лучшая статья, что я находила на просторах Internet.
Ваше строгое напутствие из пункта 14. "У меня ничего не работает" заставляет думать и самой искать решения на возникшие сложности при установке.
Итог: все установила, настроила, сервер работает:)
Уважаемый, Алексей.
Все, указанные вами дистрибутивы установились без ошибок и в точном соответствии с вашими инструкциями. Проблемы возникли при создании тестовой базы данных.
База данных test1 > таблица orders >
Не могу отформатировать поле АМТ тип DECIMAL в закладке "Структура"
Какое бы значение я ни указал справа от запятой в поле "Длина/Значения", при просмотре SQL кода запроса, выражение DECIMAL(целая часть, дробная часть) принимает ТОЛЬКО целочисленные значения. То есть DECIMAL(10), DECIMAL(6) или DECIMAL(21), но никак не DECIMAL(10,2), DECIMAL(6,3) или DECIMAL(21,5)
В закладке же "SQL" запрос на изменение формата поля нормально вводится, редактируется и выполняется.
Если я все правильно понимаю, это либо ошибка настройки phpMyAdmin, либо ошибка в работе самого приложения.
Подскажите, пожалуйста, как это исправить. Как нормально форматировать и переформатировать поля таблицы в закладке "Структура", которая, как я понимаю, для этого и предназначена?
Архив: https://yadi.sk/d/OD3h19-Two3xq
С уважением, Владимир Корякин.
Приветствую! Это исключительно ошибка phpMyAdmin. Она будет исправлена в версии 4.6.5.
Тикеты: раз, два.
Патч (нужно уметь пользоваться git, чтобы его применить), если невозможно ждать и исправление нужно прямо сейчас.
Ещё один вариант обновиться раньше других. Скачайте файл https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/master/libraries/Table.php (это файл из следующей версии, ссылка ведёт на гитхаб, официальный аккаунт разрабочиков phpMyAdmin). Переименуйте его – удалите расширение .txt, чтобы получилось название файла Table.php. И замените им тот, который размещён в C:\Server\data\htdocs\phpmyadmin\libraries\Table.php
После этого всё будет хорошо:
Спасибо, Алексей. Заменил Table.php на ваш и все заработало.
Установил апач, при заходе на localhost вместо IndexOf, появляется вот это:
Forbidden
You don't have permission to access / on this server.
Спасибо большое за инструкцию, в инструкции сказано создать файл config.inc.php в C:\Server\data\htdocs\phpMyAdmin, что являеться не верным. там есть дефолтный конфиг config.****.inc.php который надо переименовать и его редактировать, добавлять строки новые, иначе белый экран в http://localhost/phpMyAdmin обеспечен многим (тем кто не имеет опыта)
Так и есть. Столкнулся именно с белым экраном. Если config.sample.inc.php переименовать в config.inc.php, то получим "Добро пожаловать в phpMyAdmin" с запросом логина и пароля (а без него вход - не дает).
Потрачено 10 минут на коррекцию config.sample.inc.php с включением параметров, предлагаемых автором в его коде, с последующим пересохранением файла как config.inc.php. Панелька заработала.
Если Вы уже установили и успешно опробовали Apach+PHP+MySQL на своем компьютере, советую Вам сделать следующее:
1. Заархивировать папку Server и сохранить её на любом носителе, кроме диска C: вместе с установочными файлами. (папка на диске занимает 2.10 ГБ, архив - 263 МБ)
2. Создать в любом текстовом редакторе файл restore.bat со следующим содержимым:
---------------------
c:\Server\bin\Apache24\bin\httpd.exe -k install
pause 0
c:\Server\bin\Apache24\bin\httpd.exe -k start
pause 0
C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql-5.7\bin\mysqld --install
net start mysql
pause 0
c:\Server\bin\Apache24\bin\httpd.exe -k restart
pause 0
---------------------
В том случае, если вам придется по тем или иным причинам переустанавливать Windows 10 или восстанавливать диск C:, восстановить папку Server на нем будет очень просто. Нужно будет всего лишь:
1. Распаковать содержимое сохраненного архива на диск C:
2. Установить vc_redist.x64.exe
3. Запустить и выполнить от имени Администратора файл restore.bat
Алексей, спасибо большое за такую подробную инструкцию.
Может кто-то столкнется с проблемой, которая выявилась у меня при запуске phpmyadmin:
при входе имя - root, поле с паролем пустое и дальше пишет, что с такой конфигурацией необходим пароль.
Проблему решил так:
открыл …/phpmyadmin/libraries/config.default.php
нашел в нем $cfg['Servers'][$i]['AllowNoPassword'] = false;
и поменял false на true.
Перезагрузил apachi и в панель запускают без пароля.
При создании config.inc.php мы прописывали
$cfg
[
'Servers'
][
$i
][
'AllowNoPassword'
] = true;
а вот про корректировку в
config.default.php забыли.Больше спасибо за подсказку! Застряла на этом месте
Большое спасибо Алексею за такую подробную инструкция "для блондинок" без каких-либо срашных терминов и аналогий. Все делала по инструкции, но на последнем шаге phpmyadmin отказался принимать root без пароля. Воспользовалась советом Вячеслава - безрезультатно, попробовала поставить простенький пароль $cfg['Servers'][$i]['password'] = '123'; - также безрезультатно. Что можете посоветовать?
Напишите, какое именно сообщение (какая ошибка) вам показывается при неудачном входе?
Выходила ошибка [1045] Access denied for user 'root'@'localhost' (using password: NO)
проблема решена простой переустановкой mysql
Конечно, потому что вы установили пароль для MySQL и забыли про это.
Ваше решение не помогло устранить ошибку
mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO)
Спасибо, Алексей! С Вашими инструкциями даже у такой блондинки, как я, все получилось))) Хотя пару раз возникли ошибки, но все дело, как Вы и написали, исключительно в невнимательности!
После распаковки phpmyadmin выдаёт критические ошибки:
Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in C:\Server\data\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc:177 Stack trace: #0 C:\Server\data\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio…') #1 C:\Server\data\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio…') #2 C:\Server\data\htdocs\phpMyAdmin\libraries\core.lib.php(306): __('The %s extensio…') #3 C:\Server\data\htdocs\phpMyAdmin\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 C:\Server\data\htdocs\phpMyAdmin\libraries\common.inc.php(102): PMA_checkExtensions() #5 C:\Server\data\htdocs\phpMyAdmin\index.php(13): require_once('C:\\Server\\data\\…') #6 {main} thrown in C:\Server\data\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc on line 177
Добрый день, Алексей!
У меня возникли проблемы с кодировкой…
При вызове:
$link = mysqli_connect($host, $user, $pswd, $database)
or die("не могу подключитсья к БД " . mysqli_error($link));
$query ="SELECT * FROM student";
$result = mysqli_query($link, $query) or die("не могу получить результат " . mysqli_error($link));
if($result)
{
echo "Подключение выполнено успешно;\n";
printf("Кодировка: %s\n", $link->character_set_name());
}
while($row=mysqli_fetch_assoc($result)){
print "<tr>
<br>
<td>".$row['id']."</td>
<td>".$row['fio']."</td>
<td>".$row['groupp']."</td>
<td>".$row['number']."</td>
<td><a href='delete_student.php?id=".$row['id']."'>Удалить</a></td>
</tr>";
}
Выдает:
Подключение выполнено успешно; Кодировка: latin1
1 kjhfkjcf kjfhkjhf ????????? ???12?? ????12? Удалить
2 rger eargg arg jhjlfh???????? dv344rg54 sd23 Удалить
3 ??????? 23??? ??2?35 Удалить
Вопрос такой:
Как и где необходимо поменять кодировку, чтобы кирилица отображалась правильно, действия в *.ini, *.cfg не приносили результат. Смена кодировки в phpmyadmin и в notepad++, не приводили к необходимому результату…
Хотел сам разобраться в этом, но похоже, что мозг закипел))
Вот правильная строчка
<td><a href='delete_student.php?id=".$row['id']."'>Удалить</a></td>
Приветствую)
Возникла следующая проблема - при установке PHP не перезапускается Apache server, пишет следующее в консоле: "Syntax error in 524 line Cannont load "C:/Server/bin/PHP/php7apache2_4.dll" to server"
В conf файл добаляю следующее:
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
Буду благодарен за подсказку)
Решил проблему, не хватало dll
у меня таже беда.куда ты добавил .dll?
Спасибо за подробную и хорошую инструкцию!
Установил Apache следуя вашего мануала…Все проверил раз 30,один в один как у вас написано.Не работает.Открываю командную строку ввожу
c:\Server\bin\Apache24\bin\httpd.exe -k
install...а получаю
Apache 2.4: Service is already installed.//// Порт 80 освободил Visual c++ установил.////
Все заработало чувак)))))спасибо.Я когда на localhost выходил, он мне писал что страница не найдена.а сейчас все ок))))целых 5 часов мучался с этими проверками
Добрый Алексей
зоходя по ссылке http://localhost/i.php место того что PHP установлено у меня появляеться
<?php
phpinfo ();
спасибо за внимание
C:\Users\Админ>C:\Server\bin\Apache24\bin\httpd.exe -k install
[Fri Nov 11 08:40:28.565103 2016] [mpm_winnt:error] [pid 3024:tid 116] AH00433:
Apache2.4: Service is already installed.
Порт не занят, все делал по инструкции.
Извините, Алексей, мой вопрос скорее всего дурацкий, но я только начинаю изучать PHP+MySQL и, думаю, он все же уместен т.к. для мня он не разрешим в рамках имеющихся у меня в данный момент знаний.
Вся система установилась у меня отлично. Нормально работает и PHP и phpMyAdmin, но только по отдельности.
Создал в папке C:\Server\data\htdocs файл_test0000.html следующего содержания:
<html><head>
<link href="../css/phpMM.css" rel="stylesheet" type="text/css" />
</head><body>
<?php
$link1 = mysql_connect('localhost', 'root');
?>
</body></html>
и получаю сообщение:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\Server\data\htdocs\_test0000.html:7 Stack trace: #0 {main} thrown in C:\Server\data\htdocs\_test0000.html on line 5
Может я чего-то не подключил или не прописал какой-нибудь параметр?
Требуемые файлы находятся в: https://yadi.sk/d/aTz0qt-7yS8UK
Данное расширение — mysql_connect() — устарело начиная с версии PHP 5.5.0 и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Альтернативы для данной функции:
Т.е. просто смените учебник, по которому учитесь, на более актуальный.
Здравствуйте, не получается запустить phpmyadmin. Я уже не первый, но не нашел ответ на вопрос к решить эту ошибку. Простите за повтор, но помогите понять в чем проблема? Спасибо
Фатальная ошибка : Uncaught Ошибка: Вызов неопределенной функции mb_detect_encoding () в C: \ Data \ Server \ HTDOCS \ PHPMyAdmin \ библиотеки \ PHP-Gettext \ gettext.inc: 177 Стек трассировки: # 0 C: \ Server \ Data \ HTDOCS \ PHPMyAdmin \ библиотеки \ PHP-Gettext \ gettext.inc (282): _encode ( '% S в extensio …') # 1 C: \ Server \ Data \ HTDOCS \ PHPMyAdmin \ библиотеки \ PHP-Gettext \ gettext.inc ( 289): _gettext ( '% S в extensio …') # 2 C: \ Server \ Data \ HTDOCS \ PHPMYADMIN \ библиотеки \ core.lib.php (306): __ ( '% S в extensio …' ) # 3 C: \ Server \ Data \ HTDOCS \ PHPMyAdmin \ библиотеки \ core.lib.php (961): PMA_warnMissingExtension ( 'MBstring', TRUE) # 4 C: \ Server \ Data \ HTDOCS \ PHPMYADMIN \ библиотеки \ Common. inc.php (102): PMA_checkExtensions () # 5 C: \ Server \ Data \ HTDOCS \ PHPMyAdmin \ index.php (13): require_once ( 'C: \\ Data Server \\ \\ …') # 6 {} главный выброшен в C: \ Server \ Data \ HTDOCS \ PHPMyAdmin \ библиотеки \ PHP-Gettext \ gettext.inc на линии 177
И объясните по 6 пункту- нужно создать config.inc.php или переименовать config.SAMPLE.inc.php убрав SAMPLE. Если переименовать то куда код вставить.
В новой версии php 7 (у меня 7.0.13) в пункте настройки php.ini, где ищем первую группу строк
После ;extension=php_fileinfo.dll
Есть строка ;extension=php_ftp.dll
Её не удалил и не раскомментировал, всё супер работает. Но в статье думаю надо поправить, а то в будущем малоли кто жаловаться будет. В остальном всё супер, спасибо!
Максим, к сожалению, ваш комментарий попал в спам, поэтому отвечаю только сейчас.
Спасибо большое, что обратили на это моё внимание – очень ценю такие полезные замечания. Прямо сейчас подправлю статью.
Здравствуйте! Очень помогла ваша статья, большое спасибо!!! Долго пыталась наладить совместную работу всех программ, пока не встретила эту статью. Все заработало с почти первого раза.))) Очень порадовало, что статья свежая и использованы свежие файлы.
Хочу рассказать о своей ошибке. Может кому пригодится. После установки Apache, выдавало примерно такую же ошибку как в комментарии выше:
[Fri Nov 11 08:40:28.565103 2016] [mpm_winnt:error] [pid 3024:tid 116] AH00433:
Apache2.4: Service is already installed.
Ошибка была в том, что до удаления ранее установленного Apache, не были остановлены службы. И в службах висел старый Apache. Удалить его можно в командной строке:
C:\Windows\system32>sc delete ServiceName
или
C:\Windows\system32>sc delete "Service Name"
где ServiceName или "Service Name" имя удаляемой службы
После этого удаления у меня все заработало.
Еще раз большое спасибо автору!!!!
Алексей спс за статью но при запуске в командной страке выдаёт ошибку в 244 строке
Соответственно не запускается localhost
Подскажите , что делать,спс
Добрый день. на первых этапах, при команде
c:\Server\bin\Apache24\bin\httpd.exe -k
install
появляется такая ошибка (см.принскрин)
http://uploads.ru/KIjFJ.png
у меня появляется вот такая ощибка когда запускаешь phpmyadmin
The mbstring extension is missing. Please check your PHP configuration.
Сыдым, SERG13
Проверьте файл php.ini, скорее всего не расскоментирована, или неверно указана строка:
; extension_dir = "ext"
В данной строке должен указываться путь к ext на сервере. В статье он указан.
Lu, а Вы добавили в файле httpd.conf строки, указывающие на php машину ? Внимательно прочитайте статью, там они указаны.
Статья написана толково, и если все делать так, как описано, должно все получится. А если что-то не так, то имеются уточнения в комментариях, их тоже прочитайте внимательно.
в общем мучалась 3 дня, в итоге снесла апач, поставила денвер. все работает без проблем..
То что вы говорите это все раскоменчивала и прописывала. Может если бы с самого начала работала по вашей статье,вышло бы иначе, однако ее я нашла уже в конце, когда моральные силы были на исходе)
Тоже долго мучился
Забыл переименовать файл "php.ini-development" в "php.ini"
Ты меня спас. Задолбался искать проблему. Автору статьи тоже респект.
Тоже столкнулся с этой проблемой. Причем первый раз делал на одной машине и всё было хорошо.
А на второй делал, спустя неделю, и вот такую проблему получил. Уже и пути проверил, и наличии самой dll. Оказалось забыл в начале строчке убрать точку запятой
как писали заменить: "; extension_dir = "ext" на "extension_dir = "C:\Server\bin\PHP\ext\"
У меня выдает вот так, то есть получается не находит php.ini, что делать, я новичок в этом деле
phpinfo()
Configuration File (php.ini) Path
C:\Windows
Loaded Configuration File
(none)
Alexey, подскажите, на этапе установки phpMyAdmin выдаёт ошибку "The mbstring extension is missing. Please check your PHP configuration." как здесь быть?
Пара уточнений.
До того, как запустите инсталяцию сервера нужно проинсталлировать С++. В статье указана vc_redist.x64.exe. Для 32 разрядных версий Windows она не подойдет. Понадобится vc_redist.x86, скачать можно там же. Ссылка: https://www.microsoft.com/ru-ru/download/details.aspx?id=53840
Выберите нужную версию, и скачивайте.
Второе, в файле httpd.conf нужно исправить строку:
Listen 80
на
Listen 127.0.0.1:80
иначе сервер не сможет запустится, так как будет пытатся запускатся с адресом 0.0.0.0
Спасибо за полезный комментарий. Про C++ Redistributable Visual Studio 2015 я несколько раз обновлял ссылку по мере выхода новых версий и, судя по всему, в какой-то момент забыл про 32-битные системы.
С настройкой директивы Listen также согласен – правильно в первую очередь с точки зрения безопасности, чтобы сервер не был виден по внешнему IP. Но такая настройка вызовет проблемы у тех, у кого IPv6, проблемы с доступом по IP вида 127.0.0.*, например, 127.0.0.2. Само собой, веб-сервер не будет доступен ни с какого-либо другого компьютера даже в локальной сети.
Можно сделать ещё так, Listen оставить без изменений, а в секции Directory убрать Require all granted и вписать туда что-то вроде такого:
Таким образом будет закрыт доступ к веб-серверу из глобальной сети, но останется доступ из локальной. Естественно, список подсетей можно изменить под свои нужды.
Учитывая редкость IPv6 и простоту вашего варианта, в инструкции я исправил по вашему совету.
И спасибо, что помогаете другим пользователям.
Опять убрал про Listen 127.0.0.1:80, в Википедии нашёл:
0.0.0.0/8 - Адреса источников пакетов «этой» («своей») сети.
Алексей, огромное спасибо за статью.
На VDS с Windows 2008_64 у меня всё прошло без "запинки"..
Подскажите вот что: как мне теперь сделать так, чтобы вэб-сервер был доступен извне ?
Хочется из домашнего компьютера видеть в браузере ту же картинку, что и на удалённом.
Заранее благодарен.
Вы к веб-серверу будете обращаться по IP или хотите привязать к нему доменное имя?
Если по IP, то всё совсем просто. Найдите в файле c:\Server\bin\Apache24\conf\httpd.conf строку
И поменяйте на
Вместо IP_вашего_сервера впишите настоящий IP вашего VDS.
Если хотите привязать доменное имя, то здесь посложнее. Во-первых, нужно сделать соответствующую DNS запись. Это даже не в вашем VDS – вам нужно проконсультироваться в том месте, где вы покупали домен. Точно нужно настроить виртуальные хосты. Здесь я показывал на примере локальных виртуальных хостов – с реальным всё также.
После любых изменений настроек не забывайте перезапускать Apache.
Я сам ни разу не настраивал веб-сервер под Windows на VDS (только под Linux), поэтому точнее подсказать не могу.
Ещё раз огромное спасибо, Алексей.
У меня всё получилось.
Сначала подкорректировал рекомендуемую вами строку в файле c:\Server\bin\Apache24\conf\httpd.conf. В боаузере на локальном компьютере вбил IP своего VDS. Увиденное "Страница недоступна немного расстроило". Но тут же в голову пришла мысль о том, что на VDS необходимо открыть 80 порт в брандмауэре Windows. Создал два правила для 80 порта: для входящих и исходящих соединений. В результате всё зарабортало.
Я рад, что получилось, но если сервер открыт всем, то нужно почитать что-нибудь о тонкой настройке безопасности. Как минимум, для MySQL сделать пароль. Вход в phpMyAdmin сделать по паролю. Возможно, создать не-рут пользователей базы данных, а руту запретить удалённый вход и т.д.: это отдельная, намного более сложная тема. В этой инструкции всё делается для удобства, когда я писал, то думал только о локальном сервере.
Не могли бы Вы описать упомянутые вами меры по защите VDS подробнее ? Посвятить этим моментам статьи ?
Привет Алексей! С 98-го года за компьютером, чуть позже в сети. Впервые за всё это время встречаю в Интернете материал, достойный восхищения! Прошел все изложенные шаги по установке и наладке без вопросов и проблем за исключением, моя ОС (Win.10) не воспринимает командную (пробовал разные варианты) строку c:\Server\bin\Apache24\bin\httpd.exe -k restart и я обхожусь просто двумя строками … ) net stop mysql / net start mysql … https://yadi.sk/d/JR4HtLXu34Sg7E
Ну в общем то пойду дальше … )
Спасибо Вам дорогой за Ваш труд.
Vostok3Bit (Виталий)
Здравствуйте! Пожалуйста, подскажите! Настроил, установил и запустил apache всё как вы написали, перепроверил каждый символ 10 раз, apache запускается без ошибки, но заходя в браузере в localhost пишет что нет доступа, порты проверял, менял, не помогает
Спасибо огромное! Виндовс7 поставилось нормально. Тока Апач 2.4.17 уже нету.. 2.4.25,
Да, ещё… на своём опыте убедился что существует «эхо» предыдущих, неудачных установок, особенно при операциях с командной строкой. Нужно как кто прописать тему деинсталляции внесённых изменений предыдущими установками..
Пожалуйста скиньте архив папку Server где все нормально работает
Помогите пожалуйста при входе в localhost/i.php у меня нет интерфейса а вот это
<?php
phpinfo ();
Помогите пожалуйста
Поясните как добавить PHP директории в PATH на Windows 7, там есть два окна переменные пользователя и переменные системные, и там и там есть PATH, где нажимать изменить? При нажатии изменить открывается этот параметр переменной и ее можно только изменить, кнопки создать там нет и списка тоже отдельного не появляется. Мне получается нужно переменные изменять или создать новые, но даст ли Windows создать переменные с одинаковыми именами?
Большое спасибо за интсрукцию. Все получилось и все работает.
Единственное, что для полноты информации, можно добавить инструкцию по добавлению виртуальных хостов. Мелочь, но очень нужная штука.
Про виртуальные хосты уже спрашивали, и я написал об этом здесь.
Все хорошо, но еще лучше бы напомнить "администраторам" о необходимости установки собственных паролей, включая пароль на root phpadmin, ну и ключ лучше бы тоже новый сгенерить для строки $cfg['blowfish_secret'] = ''; в config.inc.php
Может быть, подскажете, на какие ещё настроки безопасности обратить внимание?
Доброго времени суток. Очень хорошая инструкция. Всё получилось. Правда по непонятной причине (что плохо) в phpMyAdmin не пропускал логин root ошибка SQL 1045.
SQL снёс и переставил вместе phpMyAdmin и всё заработало. (Win 10 x64 LTSB)
Для чего нужен sendmail, какие туда приходят сообщения с каким содержимым, это типо обратная связь?
И как отправить на него письмо, чтоб проверить?
Как и всё остальное здесь, это только для тех, кому нужно. Как если бы кто-то прочитал и начал у меня спрашивать: что это за Apache, зачем мне его устанавливать, как там делать сайты и т.д.
Если пользовались Denwer, то там тоже есть подобная почтовая заглушка. Очень удобно отлаживать отправку почты. Я, например, на почту отправляю заполненные пользователем на сайте формы заказов, пользователь может сам себе отправить ссылку на понравившуюся страницу, можно настроить разные уведомления подписавшихся пользователей, отправлять им ссылку для восстановления пароля и т.д. – ну почта, что тут объяснять?
В PHP письма можно отправлять, например, функцией mail.
Прошу прощения за беспокойство, никак не могу установить apache, выдает ошибку "AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::7978:6c40:7af5:6ea5. Set the 'ServerName' directive globally to suppress this message"
Все по инструкции делаю, скайп от 80 порта освобожден. 80-порт вообще никакая программа не использует. Что делать?
Это предупреждение, а не ошибка. По идее, Apache должен всё равно работать. У вас http://localhost/ открывается?
Чтобы это предупреждение не выводилось (цитата из инструкции):
меняем
на
Спасибо за быстрый ответ. Уже разобралась, что это предупреждение, все установила, инструкция очень доступная, спасибо большое.
После настройки конфигурации, установка, вроде, проходит успешно, но при запуске такая ошибка:
C:\Windows\system32>d:\Server\bin\Apache24\bin\httpd.exe -k start
(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
Что то занимает 80 порт? А как проверить и вырубить это?
Если бы дочитали статью до конца, то не спрашивали бы В командной строке Windows выполните:
Там будет показана программа, занимающая 80й порт.
Или хотя бы вырубил скайп, исходя из коммента выше) Спасибо, запустился. Буду делать дальше) Только еще вопрос, оно со скайпом вообще не бует запускаться, или их можно как то подружить?
Я сам Скайпом не пользуюсь, но давным-давно, лет пять назад, когда мы с другим пользователем решали эту же проблему, он мне написал:
«Проблема решена — порт занимал Скайп (есть у него такая бяка в настройках соединения — использовать порты 80 и 443 в качестве альтернативных, после того, как я отключил эту опцию, всё заработало)».
Т.е. в настройках, по крайне мере раньше, это можно было поменять.
Понял, спасибо наиогромнейшее. Чуть позже подтвержу или опровергну этот вариант на работоспособность сегодня)
И тут же задамся новым вопросом 🙂 Я вместо php 7 решил использовать php 5.6. Поэтому в файле конфигурации внес такие строки:
LoadModule php5_module "d:/Server/bin/PHP/php5phpdbg.dll"
Но сервер не перезапускается. выдает такую ошибку
C:\Windows\system32>d:\Server\bin\Apache24\bin\httpd.exe -k restart
httpd.exe: Syntax error on line 534 of D:/Server/bin/Apache24/conf/httpd.conf: C
an’t locate API module structure `php5_module’ in file D:/Server/bin/PHP/php5php
dbg.dll: No error
В чем еще кроется недочет или ошибка?
Для версии 5.6 нужно начать с установки VC11: https://www.microsoft.com/en-us/download/details.aspx?id=30679
А настройки в конфигурационном файле Apache 2.4 (по моей инструкции):
Эм, а где, собственно, файл "php7apache2_4.dll" ?) Есть "php7.dll", но не apache.
Понятно, не ту версию скачал)
Ок, отбой вопроса, ибо решил все атки поставить php7) А со скайпом совет - рабоатет. В настройках снял галочку "использовать для доп. входящих соединений 80 и 443 порт"
p.s - на секунду опередили с ответом) большое спасибо
Алексей, Вам нужно учебники писать! Очень доступно. Спасибо огромное!
Согласен с предидущим оратором! Только вот пусть учебники будут про nginx,да?… А то, apache ведь старый как какашки мамонтов…и учебники,опять же,получатся очень тоненькие.
Помогите пожалуйста. До пункта 6 (установка phpMyAdmin) все шло хорошо. Когда я набираю в браузере http://localhost/phpmyadmin/, выдает ошибку:
The mbstring extension is missing. Please check your PHP configuration.
Из предыдущих пунктов все перепроверил несколько раз. Все по инструкции. В чем может быть проблема?
Уже все решил.
А вот с этим пунктом возникли сложности "Изменение системных переменных среды" .
У меня Windovs 7, все совсем по-другому. Я в нижнем поле нажал изменить. В строку значение переменной в конце списка добавил C:\Server\bin\PHP\. После чего в верхнем поле тоже появилась переменная Path. Это правильно? Или нужно по-другому?
Alexaey а что делать вот с такой проблемой с модулями (как я понимаюю просто не могут подгрузиться по какойто причине). полный лог к первому пункту на остольных идентичный
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_curl.dll' - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_intl.dll'
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_ldap.dll
PHP Warning: PHP Startup: Unable to load dynamic library C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll' -
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll'
Здравствуйте. Тоже постепенно учусь и освиваюсь, и столкнулся с проблемой касательно работы с БД в PHP. По каким-то причинам, у меня не работает функция mysqli_query и не работает метод query объекта mysqli. В первом случае я получаю сообщение о неизвестной функции, а во втором о синтаксической ошибке '$db' (T_VARIABLE) в конструкции:
$result = $db->query("select * from `registered`");
При чем другие функции и методы mysqli выполняются, проблема именно в query.
Настраивал все по данной инструкции, переустанавливал PHP, пробовал версии 7.0.15 и 7.1.1. Но результат все такой же, однако на интернет-хостинге код выполняются исправно.
Чтобы получить ошибку
на абсолютно рабочем сервере достаточно в вашей строке поменять маленькое тире на большое.
Чтобы получать ошибки T_VARIABLE, T_STRING достаточно поставить до этой строки открытую кавычку.
Установите себе NetBeans с PHP и отлавливайте ошибки синтаксиса и прочие ошибки начинающего программиста там. Инструкция по установке веб-сервера здесь не при чём.
Просто в этом и аномалия, что все необходимые расширения подключены. Функции mysqli работают, по крайней мере для подключения к БД и для выбора таблицы, декриптор соединения возвращается, ошибок нет.
В коде синтаксических ошибок тоже найти не удалось. Я пользуюсь Brackets, он подсвечивает весь необходимый синтаксис. Более того, я именно этот файл с этим кодом и запускал с хостинга - все работало и без намека на ошибку.
По этой ссылке имеются все требуемые файлы: https://1drv.ms/u/s!Am0rzFvIDboRlsxRYOx0f9kP-8kvjw
Мне, впрочем, уже не так важно заработает оно или нет. Просто интересно от более опытных людей узнать насколько это типовая или нетиповая ситуация, а то столько всего начитаться успел пока искал, а к решению так и не приблизился =)
Сейчас изучаю. Можете заодно прислать ваш файл с PHP кодом, в котором ошибка? Или хотя бы часть кода до проблемной функции.
Хотя ответ я уже нашёл, у вас невидимые символы, которые ломают код
Этот невидимый символ называется NO-BREAK SPACE.
Попробуйте каждый пробел рядом с проблемными функциями удалить и сразу добавить. Если ничего не поменялось, попробуйте открыть файл другими текстовыми редакторами. Если и это не помогло - крайний случай, без копи-пасты переписать проблемные строчки - проблема исчезнет.
Следующая ошибка:
Название функции набрано неправильно, в PHP нет функции msqli_query. Если ваша IDE не видит таких косяков, то поменяйте её. NetBeans - полностью бесплатная, очень рекомендую.
Ну и наконец, ошибка T_VARIABLE. Вот такой код может её вызвсать:
Подсказка: пропущена точка с запятой после второй строки.
Всё очень-очень просто. Установке веб-сервера здесь ни при чём.
И правда, вот чудо. Очень огромное спасибо за помощь, аж голове полегчало =О
Буду почаще тогда в логи заглядывать. А то я разочек открыл, увидел, что там все то же, что я в браузере вижу, и как-то больше не заглядывал… Ох уж эти непечатаемые символы.
Я ещё дописал комментарий - посмотрите про другие ошибки.
Стоило добавить в статью что следует настроить владельцев файлов (дискрипторы безопасности файлов и директорий) для директории /…./www/html/ так что-бы владельцем файлов был тот пользователь от имени которого запускаеться http сервер Apache (по умолчанию в httpd.conf это пользователь с именем apache в Windods реже nobody в Unix). Так-же стоит заметить что пользователь от имени которого запускаеться сервер должен состоять в группе пользователей указанной в httpd.conf .
Разве это применимо к Windows?
Кстати, а вы по этой инструкции ставили? Чтобы начать получать ошибки:
нужно проигнорировать указание инструкции о подключении расширения
Т.е. у вас может быть первая ошибка из-за того, что не подключено расширение mysqli на локальном сервере, а вторая из-за ошибке в коде.
В любом случае, перед написанием комментария нужно было прочитать https://hackware.ru/?p=21#14 , там написано что нужно делать в случае если всё делали по инструкции, какие файлы нужно показать.
А как сайты то на нем размещать?) Просто создавать папки в htdocs? Без виртуальных хостов? Что то не очень получилось у меня. Установил cms modx, установка прошла, но при входе в админку ворох ошибок.
Да, просто распаковывать в папку htdocs. Всё работает с полтычка:
Делайте как написано в инструкции по установке веб-сервера, без самодеятельности, и всё будет ОК.
Отчего же у меня ошибки повыпадывали… Что то намудрил похоже с вирутуальными хостами, по другой статье. Эх, придеться разбираться с этим тепреь. Спасибо за ответ.
Не могу уже с этой ошибкой, голова отваливается… Помогите по возможности, пожалуйста.
Необходимые файлы: https://yadi.sk/d/FaGo014F3DMajS
Там же ошибка, которую выдает modx При попытке залогиниться.
Сделано все по инструкции, по виртуальным хотсам менял только пару строк, но все вернул обратно. (ссылка на сайт с инструкцией по которой делал их тоже в архиве)
Проверил все, вроде как полагается. Ну не вижу в чем может быть ошибка. очень нужна помошь..
Кстати Престашоп установился нормлаьно и вроде работает
Вы, наверное, распаковываете архив с хостинга. Попробуйте скачать свежую версию с оф.сайта и установите её. Если всё заработает, то попробуйте перенести базу данных в новую версию (обновиться). Проверьте конфигурационные файлы (настройки подключения к базе данных). Если это архив с хостинга, не забыли ли вы предварительно залить базу данных этого сайта?
Вы быстрее решите свою проблему если зададите его в тематическом форуме MODX или в службу поддержке MODX.
Нет, как раз устанавливаю последнюю чистую версию modx. На Денвер эта система устанавливается и всегда устанавливалась номрмально, тут дело в сервере. Что то с php, судя по логу.
[:error] [pid 8792:tid 844] [client ::1:49254] PHP Fatal error: Uncaught Error: Call to a member function get() on null in ["очень длинные пути"\login.class.php
А русскоязычные сообщества modx вообще мало отзывчивы к проблемам. Вопросов много, ответы редкость. Адекватные ответы вообще чудо.
И я было уже думал, что это проблемы modx и php7, но у вас то все заработало на ура..
Возникла проблема с meta тегом "<meta http-equiv="Content-Type" content="text/html; charset=utf-8">"
в параметрах httpd.conf добавлял "AddDefaultCharset utf-8", но так же не помог.
Надеюсь только на вас.
В вашем случае мета тэг работает и сервер отдаёт в кодировке utf-8. НО: файл, на который вы смотрите, сохранён в другой кодировке, не utf-8.
Откройте файл редактором, который позволяет изменять кодировку, и пересохраните его в utf-8, это решит проблему.
Добрый день!
Проблема такая: Апач периодически зависает, до перезапуска службы.
Версия PHP
7.0.13
Версия mySQL
5.1.40
Версия Apache
2.4.23 (Win64)
OC
Windows Server 2012 R2
До этого стоял Apache/2.2 и PHP/5.3 - подобных проблем не было.
Файлы настроек и логи: https://cloud.mail.ru/public/Hm3y/zmzjGpLpD
Хотя в логах нет этой ошибки, но поведение похоже на описанное в 12ом пункте https://hackware.ru/?p=21#12 . Попробуйте сделать как там написано, т.е. добавить в файл httpd.conf строки:
Спасибо!
Буду пробовать.
Спасибо!
Windows 10 - все заработало с первого раза - просто нужно иметь зоркий глаз и прямые руки )
Почему-то при попытке установить сервис Апаче через cmd пишет: "Отказано в доступе". cmd открывается от имени администратора. Винда 10
Установил Apache по вашей инструкции. Спасибо, работает. Но сайт, который мне нужно править в localhost использует https (не http). При обращении к папке сайта идёт переадресация с http на https и страница не открывается.
Как установить https? В инструкции этого нет.
Это во второй части https://hackware.ru/?p=1612, раздел "Настройка SSL для Apache в Windows (переход с HTTP на HTTPS)".
Спасибо за статью , очень помогло.
Как прикрутить address book php подскажите пожалуйста !!!!
Устанавливается просто, достаточно распаковать скаченный архив в C:\Server\data\htdocs\ и перейти в браузере по адресу http://localhost/addressbook/. Логин пароль для входа admin/secret
НО: работать не будет. Для PHP Address Book нужен PHP 5, а в этом сервере мы устанавливали PHP 7.
Т.е придется переустанавливать версию на 5?
В документации к Адресной книги сказано, что версия не ниже 5 (Убедитесь, что ваш сервер имеет PHP> = 5 установлен (4.x не поддерживается больше),если выше версия , то она уже не поддерживается?
Я видел документацию. Но, главное, я скачал архив и попробовал программу – вылезла ошибка о неизвестной функции, которая как раз и была удалена в PHP7.
Варианты: да, или откатываться на PHP5 или искать альтернативу этой программе.
Да, с PHP 7 addressbook вываливается с ошибкой(пробовал версии php-5.5.0-nts - php-5.6.30-nts-Win32-VC11-x64), идут иероглифы и не работает вовсе , подскажите пожалуйста как установить Адресную книгу актуальную версию addressbookv8.2.5.2 ?
Если на PHP 7 она не ставится и требует функцию, то как установить ее на PHP 5 ?
Забыл добавить ,на php 7 устанавливается эта книга: http://www.phpkobo.com/address_book.php , но она какая то урезанная
Ввожу команду
c:\Server\bin\Apache24\bin\httpd.exe -k install , выдает сообщение об ошибке: "не могу запуститься, не хватает vcruntime140.dll , потом api-ms-win-crt-runtime-l1-1-0.dll , потом api-ms-win-crt-stdio-l1-1-0.dll и т.д. Из какой программы эти dll?
Цитата из этой инструкции:
"Ещё нам нужен файл Распространяемый компонент Visual C++ для Visual Studio 2015 с обновлением 3 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии)".
Установщики не работают от юзера
у меня такая вот ошибка
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\Server\data\htdocs\test.php:2 Stack trace: #0 {main} thrown in C:\Server\data\htdocs\test.php on line 2
вот что написано на test.php
<?php
$resource = mysql_connect('localhost','root', 'NFSmostwanted22');
if (!$resource) {
die('Ошибка при подключении: ' . mysql_error());
}
echo 'Подключено успешно!';
mysql_close($resource);
?>
помогите…
Данное расширение — mysql_connect() — устарело, начиная с версии PHP 5.5.0, и удалено начиная с PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Альтернативы для данной функции:
Т.е. просто смените учебник, по которому учитесь, на более актуальный.
Никто не подскажет, что надо добавить или изменить в файле httpd.conf, чтобы запускать в корневой папке файлы Perl?
Здравствуйте, все сделал как вы написали. На десятке все встало как надо. Судя по тестовым, пошаговым подключениям. Но при попытке создать в папке htdocs файл php исчезает ее содержимое. html же файлы отображаютя нормально. В чем может быть дело?
Алексей, в скачанном файле mysql-5.7 нет my-default.ini. Скачал и версию другой разрядности и дебаu-версию - тоже нет. Поиск по папке тоже ничего не дал. Так понимаю, его нужно создать?
Вопрос решил.
Создал файл my.ini + в инете нашел настройки конфигруации файла для mysql-5.7 + внёс корректировки, в т.ч. строчку, предлагаемую Алексеем, но не просто добавив её в документ, а заменив другую строчку. Внимательно смотрите настройки, там интуитивно понятно
Спасибо, что обратили внимание. Сейчас поправлю инструкцию.
Ребят…А как запустить консоль Mysql? Все заработало, по инструкции, а вот запустить не знаю как
В командной строке:
А потом как обычно, если не задавали пароль для СУБД MySQL:
Если с паролем:
Если часто этим пользуетесь, то можно добавить в системные переменные среды путь до MySQL.
Добрый день, Алексей, спасибо огромное, у меня заработало почти все с первого раза.
Во первых понадобилась библиотека svcr120.dll, потом проблема возникла с инициализацией и запуском MySQL - ошибка 0xc000007b при запуске приложения (Windows 7 64b), подскажите пожалуйста в какую сторону копать?
Помогите не понимаю, что это за ошибка!!! На сервере phpmyadmin ввожу логин и пароль, а мне выводит
Warning in .\libraries\dbi\DBIMysqli.php#556
 mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given
Backtrace
.\libraries\dbi\DBIMysqli.php#556: mysqli_real_escape_string(
boolean false,
string '_',
)
.\libraries\DatabaseInterface.php#2731: PMA\libraries\dbi\DBIMysqli->escapeString(
boolean false,
string '_',
)
.\libraries\navigation\nodes\Node.php#437: PMA\libraries\DatabaseInterface->escapeString(string '_')
.\libraries\navigation\NavigationTree.php#288: PMA\libraries\navigation\nodes\Node->getData(
string 'databases',
integer 0,
string '',
)
.\libraries\navigation\NavigationTree.php#847: PMA\libraries\navigation\NavigationTree->_buildPath()
.\libraries\navigation\Navigation.php#45: PMA\libraries\navigation\NavigationTree->renderState()
.\libraries\Header.php#433: PMA\libraries\navigation\Navigation->getDisplay()
.\libraries\Response.php#260: PMA\libraries\Header->getDisplay()
.\libraries\Response.php#273: PMA\libraries\Response->_getDisplay()
.\libraries\Response.php#432: PMA\libraries\Response->_htmlResponse()
PMA\libraries\Response->response()
Вот скрины.
судя по тому, что phpmyadmin не отображает information_schema и прочие таблицы, скорей всего mysql стал некорректно или не запущен
У меня тоже пару раз в phpMyAdmin возникали странные ошибки. Попробуйте нажать CTRL+F5 (для принудительного получения страницы с сервера, а не из кэша). Если не поможет, попробуйте закрыть браузер и почистить кэш браузера. Мне оба раза помогало именно это. В чём была причина моих ошибок я так и не понял.
Оба способа не помогли(
а как пароль на root в mysql поставить?
Откройте командную строку, в неё введите:
Внутри MySQL:
Замените новый_пароль на ваш пароль.
Спасибо, уже разобрался.
Пришлось добавить переменную среды mysql 'C:\Server\bin\mysql-5.7\bin\' на win10
и тогда
mysql> SET PASSWORD FOR root@localhost = PASSWORD('newpassword');
При вводе C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root
появляется
TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
что делать ?
хотя служба установилась и запустилась единтсвенное не создались файлы
Какую версию MySQL скачали? Случайно не 5.6?
На 5.7.18 всё работает.
Долго мучался с другими инструкциями, пока не забрел к Вам. Огромное спасибо. Всё четко и по полочкам!
Установил вс по статье. Вс работает - спасибо!
Вопрос по mysql. Как сделать, чтобы к серверу можно было обратиться через командную строку используя клиент mysql, который содержится в папке server/bin/mysql/bin.
Спасибо!
Установил. Все работает. Спасибо народ большое за сей труд.
Установил, все прекрасно работало. Но когда попытался зайти в phpmyadmin после перезагрузки компьютера, стала вылезать ошибка "Невозможно подключиться к серверу MySQL" (Ввожу root и поставленный пароль). До этого спокойно заходил. Подскажите, в чем может быть проблема?
Проблема решена: надо было ввести net start mysql в консоли
Windows 7. php в path прописал, но каждый раз ошибка в логе:
winnt:notice] [pid 1760:tid 384] AH00424: Parent: Received restart signal -- Restarting the server.
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Server\\bin\\PHP\\ext\\php_curl.dll' - \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd %1.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Server\\bin\\PHP\\ext\\php_openssl.dll' - \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd %1.\r\n in Unknown on line 0
[Fri Aug 04 04:01:52.779506 2017] [mpm_winnt:notice] [pid 1760:tid 384] AH00455: Apache/2.4.27 (Win64) PHP/7.0.22 configured -- resuming normal operations
[Fri Aug 04 04:01:52.779506 2017] [mpm_winnt:notice] [pid 1760:tid 384] AH00456: Apache Lounge VC15 Server built: Jul 7 2017 12:46:00
[Fri Aug 04 04:01:52.779506 2017] [core:notice] [pid 1760:tid 384] AH00094: Command line: 'd:\\Server\\bin\\Apache24\\bin\\httpd.exe -d D:/Server/bin/Apache24'
[Fri Aug 04 04:01:52.799506 2017] [mpm_winnt:notice] [pid 1760:tid 384] AH00418: Parent: Created child process 1036
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Server\\bin\\PHP\\ext\\php_curl.dll' - \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd %1.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Server\\bin\\PHP\\ext\\php_openssl.dll' - \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd %1.\r\n in Unknown on line 0
[Fri Aug 04 04:01:53.728509 2017] [mpm_winnt:notice] [pid 1036:tid 304] AH00354: Child: Starting 64 worker threads.
[Fri Aug 04 04:01:54.728510 2017] [mpm_winnt:notice] [pid 2128:tid 304] AH00364: Child: All worker threads have exited.
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Server\\bin\\PHP\\ext\\php_curl.dll
А без него не работают некоторые функции используемой CMS. Как исправить?
Из папки /bin/php/ скопировать все файлы icu*.dll в папку /apache/bin/
Перезапустить апач.
Ну все, тайна за 7 печятямя, никто никогда не сталкивался..))
Мда, на примере Win10, сказано добавить C:\Server\bin\PHP\ Но на Win7 процесс добавления другой, и хоть схож с 10кой, однако есть важный нюанс! Путь добавляется там в строчку через ; и если поставить путь для PHP в конец, то получим ошибки, указанные мной выше, а если в самое начало, перед уже существующими записями, то все зарабртает!
Стоило бы указать это в инструкции. Тем более что ей 5 лет, и тогда 10ку вообще не использовали.
В путь для PHP на Windows 7 C:\Server\bin\PHP\ ДОБАВЛЯЕТСЯ В САМОЕ НАЧАЛО СТРОКИ! Иначе не работает.
не работает php_openssl.dll
в php.ini
extension_dir = "C:\Server\bin\PHP\ext"
extension=php_openssl.dll присутствуют и раскомментированы
по указанному выше адресу dll файл тоже есть
ставил всё по руководству.
Второй раз пользуясь этой инструкцией установил Apache… и всё остальное на VDS.
И всё прошло "как по маслу" 🙂
Но у меня возник вопрос.
Как получить доступ по FTP для более удобной работы по установке сайта ?
Заранее благодарен за ответ.
На удалённый сервер нужно установить FTP сервер, например, FileZilla Server – или любой другой. Чтобы к нему подключиться, нужен FTP клиент, например, FileZilla client.
При подключении, если это поддерживает сервер, старайтесь вместо FTP использовать FTPS или SFTP. Поскольку при FTP логин и пароль передаются в виде простого текста (могут быть перехвачены злоумышленниками).
Также хороший вариант – файловый менеджер с веб-интерфейсом (погуглите, их много разных). Для него не нужно устанавливать дополнительное ПО на сервер, поскольку он запускается как обычное веб-приложение (т.е. использует Apache, который уже есть). Также на вашем домашнем компьютере не нужно устанавливать дополнительное ПО, поскольку все действия выполняются прямо через веб-браузер. Крайне желательно использовать HTTPS соединения до сервера, иначе, как и с FTP, все данные будут передаваться в виде простого текста, который могут перехватить злоумышленники.
Алексей, спасибо за ответ. С FTP всё понятно.
Но Ваш ответ породил у меня ещё один вопрос :))
- Как "ЗЛОУМЫШЛЕННИКУ" перехватить пароль, который передаётся в открытом виде ?
Огромное спасибо за проделанную работу.
При настройке сервера были проблемы с инициализацией php.ini веб-сервером. Сервер не хотел видеть этой файл по неизвестной причине. К счастью, помогла перезагрузка системы.
Еще раз благодарю за то, что поделились такой подробнейшей инструкцией.
Если следовать инструкции, то файл описанный файл i.php, а также папка phpmiadmin будут находиться по адресу c:\Server\data\htdocs\.
Но в эту же папку необходимо установить и содержимое сайта , если я правильно понял.
Возможно, я что-то "проглядел.
Но как установить папку phpmiadmin - отдельно от файловой структуры файла, то есть в разные папки ?
Кажется, я догадался, что нужно сделать.
Нужно создать что-то наподобие поддомена всё, как описано у вас в этой статье :
https://hackware.ru/?p=1612
Я так и сделал.
Всё почти получилось, вот только phpmyadmin/ некоппектно встал.
Наверное, при такой конфигурации необходимо что-то подправить в файле
c:\Server\data\htdocs\phpmyadmin\config.inc.php ?
Алексей, вы не подскажете, что именно ?
Эту проблемку я тоже решил.
Нужно было в папке c:\Server\bin\PHP\ вручную создать каталог tmp.
Скрипт хотел туда что-то записать и ругался на отсутствие этой папки.
Как только папка c:\Server\bin\PHP\tmp\ была создана, в неё что-то стало записываться и ошибки исчезли.
Осталась последняя нерешённая проблема.
По вашей инструкции
https://hackware.ru/?p=1612
на одном Ip я установил три сайта .
И всё отлично работает, я почти доволен вами и собою 🙂
Одна проблема: если в адресной строке браузера написать не домен, а IP адрес моего VDS, то видны папки , которые находятся по адресу c:\Server\data\htdocs\., и они кликабельны.
то есть любой злоумышленник ( я люблю это словечко 🙂 )) может сколько угодно разглядывать файловую структуру моих сайтор и папки phpmyadmin.
Как ограничить доступ из браузера по адресу http://localhost/ ?
Здравутвуйте.Делаю всё апо инструкции,но уже на стадии запуска Apache возникает ошибка,хотя при линке на localhost страница браузера выдаёт Index Of.
Содержание ошибки:AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::2cc2:110b:bf15:16c6. Set the 'ServerName' directive globally to suppress this message
Ответ здесь https://hackware.ru/?p=21#comment-1319
Алексей.Всё равно Предупреждение в командной строке осталось,хотя в файле httpd.conf прописано всё по инструкциии.После запуска MySQL, в конечной папке указанного пути файлов автоматически сгенерированых нет. Они генерируются в общую папку SQL.
Предупреждение (если перевести с английского), так и говорит, что не определена директива ServerName. Если оно осталось, значит вы так и не установили эту директиву или сумели сделать это неправильно.
Что имеется ввиду под "общей папкой SQL"? В файле настроек точно прописано
Как полностью называется файл настроек где прописано
1
datadir="c:/Server/data/DB/data/"
После лика localhost выдаёт ошибку
Not Found
The requested URL /i.php was not found on this server.
Добрый день. Хочу поблагодарить Вас за реально отличнейшее руководство по установке сервера. В интернете много хлама, ваше руководство идеально до деталей.
Установил сервер по вашей инструкции. Все работает - php файлы, mysql, phpmyadmin, localhost, ничего не виснет. Вообщем все идеально.
Единственное, что меня слегка мучает, это error.log сервера. Там действительно, согласно п.11 вашей инструкции, появляются те ошибки (и только они).
Сразу оговорюсь, да я устанавливал не на C:/ , а на E:/ поскольку на моем C:/ недостаточно места для файлов, что хочу размещать на локальном сервере. Однако, все пути везде выставил на E:/ и как и сказал все работает отлично.
Переменные среды в Path поменял в соответствии с вашей инструкцией (естественно поменяв на E:/). Однако, ошибки в логах по поводу пути для тех библиотек php все еще высвечиваются.
Вы не могли бы мне помочь? Как можно изменить переменные среды для E:/Server ?
Это единственная незнfчительная проблема (конечно она будет засорять объем моего error.log), но хотелось бы ее устранить, пожалуйста.
Файлы в приложении.
https://yadi.sk/d/YlIBmjGx3NEmBb
У вас может быть не Windows 10, а более ранняя версия? Чуть выше в комментариях писали, что:
Windows 10. Уже попробовал оба решения. путь поднял вверх.
и из папки /bin/php/ скопировал все файлы icu*.dll в папку /apache/bin/
ошибка все еще всплывает. по всем этим библиотекам.
Как альтернативный вариант, можно отключить все эти модули: php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. Практически наверняка они вам не понадобятся.
Ещё один вариант – можно попробовать веб-сервер (папку bin) установить на диск c:, а папку с данными на диск e:
Хочу оставить свой отзыв. Настраивал веб сервер первый раз и хочу отметить что получилось выполнить до 6 пункта включительно со второго раза по данной инструкции. Причем после первого раза я просто все переделал с 0. Спасибо автору
Starting the 'Apache2.4' service
The 'Apache2.4' service is running.
pm_winnt:notice] [pid 4984:tid 392] AH00455: Apache/2.4.28 (Win64) PHP/7.1.10 configured -- resuming normal operations
[Tue Oct 10 19:21:05.735619 2017] [mpm_winnt:notice] [pid 4984:tid 392] AH00456: Apache Lounge VC15 Server built: Sep 25 2017 18:28:57
[Tue Oct 10 19:21:05.735619 2017] [core:notice] [pid 4984:tid 392] AH00094: Command line: 'D:\\TestWebServers\\bin\\Apache24\\bin\\httpd.exe -d D:/TestWebServers/bin/Apache24'
[Tue Oct 10 19:21:05.737619 2017] [mpm_winnt:notice] [pid 4984:tid 392] AH00418: Parent: Created child process 4764
[Tue Oct 10 19:21:06.081639 2017] [mpm_winnt:notice] [pid 4764:tid 308] AH00354: Child: Starting 64 worker threads.
Помогите избавиться от проблемы, вроде всё работает, но хочу избавиться от ошибок(принципиально уже)
Это не ошибки и даже не предупреждения. Это уведомления, что процесс начал работу. Можно настроить уровень записи в логи, чтобы туда не писались уведомления, тогда их не будет.
Может быть, кто-то с таким столкнется. При запуске команды в Windows 10
C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root
выдает ошибки, что не найдены msvcp120.dll и msvcr120.dll. Взял эти файлы в папке Windows/System32 из поставки Windows 8.
Этот файл содержиться в Распространяемом пакете Visual C++ для Visual Studio 2013. Ссылка для скачивания на сайте Microsoft.
Да, спасибо. Я все-таки попал в число тех, кто читал невнимательно. И спасибо за инструкцию, это лучшее, что есть.
Нет, вы читали внимательно. Я сверился с документацией и после ответа на ваш вопрос я исправил инструкцию. Почему ни у кого раньше не возникало проблем (никто не написал в комментариях, да и я сам время от времени перепроверяю инструкцию, делая установку на чистую систему в виртуальной машине) непонятно.
Добрый день, боюсь писать, но у меня не работает phpMyAdmin @
phpMyAdmin - Ошибка
Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.
@
Как решили проблему?
не знаю как но заработало само!
Здравствуйте! Скажите как теперь установить WordPress, если можно пошагово: что куда копировать и что гда прописывать? Очень нужно…только начала изучать…не могу найти толковую инструкцию по установке и настройка WordPress при уже усановленном сервере….
Попробуйте по инструкции "Как установить WordPress в Windows".
Здравствуй, хороший человек!
Спасибо тебе за ЭТО!
Пользовался твоей шпаргалкой часто, много думал (:))
Теперь вот требуются новые навыки и умения/знания
Не мог бы ты в тексте статьи вставить отсылки к некоторым подробностям, как то:
Здравствуйте Alexey. Спасибо Вам за подробную инструкуию!
Но у меня проблемка: до 5-го пункта все шло как по маслу, Apache работает, сайты, сайты выложенные в папку открывает по localhost. Но при проверке после установки PHP путем ввода в адресную строку http://localhost/i.php браузер показывает только текст
<?php
phpinfo ();
И больше ничего.
При перезапуске Apache вот такое сообщение: http://yadi.sk/i/vbAytEeV3QRy55
Все делал по инструкции.
В файле php.ini вместо таких строк ;extension=php_bz2.dll были такие ;extension=bz2 их я заменил как в вашем примере, с расширениями (т.е. тупо скопировал вашу группу строк и заменил).
После этого я остановился и больше ничего не делал.
Не подскажете куда копать?
80 порт прослушивает только httpd.exe
Ссылка на файлы с логами и т.д. (кроме файла config.inc.php) на файлообменнике: http://yadi.sk/d/MGYvkgRF3QRyrY
Файла config.inc.php у меня нету, т.к. до этого пункта еще не дошел.
Приветствую! Несколько дней назад вышел PHP 7.2 и, судя по всему, что-то поменялась. Я буду тестировать и исправлять инструкцию. Обновлённая версия будет здесь же в течение 1-2 дней (я напишу вам в комментарий, когда всё готово).
В данный момент вы можете установить по данной инструкции PHP 7.1 (с этой версией точно работает).
Для PHP 7.2 поправил инструкцию и проверил. Но, судя по сообщению на вашем скриншоте, а также по тому, что PHP не подхватывается, вы пропустили некоторые шаги по настройке Apache.
Про Set the 'ServerName' directive globally to suppress this message (собщение на скриншоте) вы найдёте прямо на этой странице в комментариях (нажмите CTRL+F).
Спасибо большое Алексей! Вирусы были на компе. Пришлось Windows переустановить, после этого все установилось как положено.
Огромное спасибо за подробную и понятную инструкцию!
Доброго времени суток. Прочитала всю Вашу статью и всё выполняла чётко по инструкции, добралась до 6-го пункта (по первым 5-ти пунктам всё было хорошо и всё работало) и не могу установить phpmyadmin - выдаёт ошибку. Сделала всё заново (на свежую голову) - проблема не решилась. Как и в комментарии выше выдаёт ошибку: Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.
http://clip2net.com/s/3QbGI2e
Ссылка на документ error.log: http://clip2net.com/s/3QbGLPV
И ещё при выполнении команды из п. 14 документ tree.txt у меня не появляется в указанном месте. Поэтому прилагаю ссылку на архив всех остальных приведённых документов: http://clip2net.com/s/3QbH53b
Ответьте, пожалуйста, если ещё нужны какие-то скриншоты или документы - отправлю. Заплюхалась уже с этой установкой ((, а помочь некому - одна надежда на Вас )
Приветствую! Вы забыли переименовать файл php.ini-development в php.ini. В этом причина всех проблем…
Я переименовывала его, у меня ещё вылез запрос: "если вы совершите это действие, то файл может стать недоступным", я нажала всё равно переименовать. Или я что-то не так сделала?
вот http://clip2net.com/s/3QchnSw - когда документ переименовываю название новое, а всё равно пишет, что файл остался с прежним расширением.
Во время переименования файл открыт в текстовом редакторе? Это же просто изменение имени файла - что там может быть сложного?
да в том то и дело, что не сложно - переименовала, но ошибка осталась ((
И у меня почему то по ссылке из последнего комментария не открывается архив с документами, а по той же ссылке из контакта всё хорошо открывается, поэтому на всякий случай прикладываю ссылку на контакт - первая запись и есть ссылка на архив. http://clip2net.com/s/3QbH53b
https://vk.com/dotsenkoblog?w=wall266812479_136
Алексей, все по кайфу, просто красавелла. Вместо sql ставил постгре на 32 битку, щас дали другой, тут стоит 64, и выползает такая вот ошибка php[6268]
PHP Warning: PHP Startup: Unable to load dynamic library 'php_pgsql' (tried: C:\Server\bin\PHP\ext\php_pgsql (%1 пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ Win32.
), C:\Server\bin\PHP\ext\php_php_pgsql.dll (пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ.
Честное слово, перелопатил все форумы, что только не пробовал. Depency walker пишет что не видит постгрешную дээлельку. Думал Дээлелька битая, стащил с прошлого компа 32 битного, все равно такая же ошибка. Закидывал в систем 32 и 64, и дополнительно в папки остальные. В чем трабл может быть? Подскажите, пожалуйста =)
С уважением, ламер Антон.
в Логах такая ошибка наблюдается и по sql, но трабл в том, что у меня отображаются все субд в инфо, кроме постгре и даже вот pdo_pgsql. Смотрел много темок, в принципе многие жалуются не только на мою субд, но и на тот же скуэль, однако из тех способов что я пробовал, ничего не помогло
Не нужно было пропускать этот шаг: https://hackware.ru/?p=21#11
Если Windows 7, то ищите здесь в комментариях (по CTRL+F) как правильно добавить в PATH.
а я и не пропускал =) http://rgho.st/7ddzFBcKk Вроде по инструкции вашей делал
в путь докинул папку ext, [Wed Dec 13 09:37:18.452505 2017] [mpm_winnt:notice] [pid 4560:tid 336] AH00354: Child: Starting 64 worker threads.
[Wed Dec 13 09:37:19.453563 2017] [mpm_winnt:notice] [pid 1268:tid 340] AH00364: Child: All worker threads have exited.
в логах винды все равно ошибка осталась
php_pgqsl стащил с другого компа, думаю, что она не должна быть битой, кинул ее в папку с заменой и в системный папки дополнительно
PHP Warning: PHP Startup: Unable to load dynamic library 'php_pgsql' (tried: C:\\Server\\bin\\PHP\\ext\\php_pgsql (%1 \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd Win32.\r\n), C:\\Server\\bin\\PHP\\ext\\php_php_pgsql.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
[Wed Dec 13 09:45:59.058282 2017] [mpm_winnt:notice] [pid 412:tid 336] AH00354: Child: Starting 64 worker threads.
[Wed Dec 13 09:46:00.059339 2017] [mpm_winnt:notice] [pid 4560:tid 336] AH00364: Child: All worker threads have exited.
Главное, что все остальные дээлельки работают гуд, т.е до этого у меня также не считывались дээлельки, я просто заменил все с того компа на котором все было гуд, но конченный постгре не хочет запускаться
вроде бы нашел, что он не видит эти дээлельки, позже отпишусь о результате. Кстати, куда их закидывать? в ту же самую папку где и php_pgqsl? или в систем 32/64?
Закинул все недостающие дээлельки, ошибка таже самая, что не видит постгре. Посмотрел на работающем компе, этих дэлелек отродясь там не было. хз даже что сейчас делать =(
PHP Warning: PHP Startup: Unable to load dynamic library 'php_pgsql' (tried: C:\\Server\\bin\\PHP\\ext\\php_pgsql (%1 \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd Win32.\r\n), C:\\Server\\bin\\PHP\\ext\\php_php_pgsql.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
[Thu Dec 14 12:11:11.136899 2017] [mpm_winnt:notice] [pid 8568:tid 336] AH00354: Child: Starting 64 worker threads.
[Thu Dec 14 12:11:12.026949 2017] [mpm_winnt:notice] [pid 7448:tid 336] AH00364: Child: All worker threads have exited.
Что делать? В path я менял =(
Спасибо за подробную инструкцию по установке Apache!!!
По началу пытался сделать сборку из представленных в примере элементов (
httpd-2.4.17-win64-VC14.zip
php-7.0.0-Win32-VC14-x64.zip
mysql-5.7.9-winx64.zip
phpMyAdmin-4.5.1-all-languages.zip
vc_redist.x64.exe
vcredist_x64.exe
)
Но потом скачал последние пакеты программ (для 64-бит Windows):
httpd-2.4.29-Win64-VC15.zip
php-7.2.0-Win32-VC15-x64.zip
mysql-5.7.20-winx64.zip
phpMyAdmin-4.7.6-all-languages.zip
Для перестраховки установил:
VC_redist.x64.exe
vcredist_x64.exe
По началу Apache установился, MySQL и PHP - заработали. Но при установке PhpMyAdmin выдавалась ошибка - (не может найти mb string)
КОГДА УСТАНОВИЛ ВСЕ ПОСЛЕДНИЕ ПАКЕТЫ ПРОГРАММ - ВСЕ ЗАРАБОТАЛО!
Успехов!
Статья ОТЛИЧНАЯ! Были проблемы, но гугл в ПОМОЩЬ!!!!!!!
От себя добавлю, что у меня PHPmyAdmin не хотел запускаться, ссылаясь на не найденный модуль mysqli.dll, пришлось ручками в php.ini прописать:
extension=php_mysqli.dll
и поправил:
extension_dir = "C:/php/ext" (заменил на свой путь до папки ext в bin/php)
Алексей, большое Вам человеческое спасибо. Вы мне очень помогли. Благополучия и всего наилучшего.
Можно уточнение? В п. 10 после выполнения всех описанных операций каталог "emails" должен автоматически появиться в папке "Sendmail"??? Или его нужно создать???
Нужно создать самому.
Здравствуйте! Возникли проблемы на этапе настройки PHP. Добавила строки
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll", при перезхапуске апач вышло сообщение о синтаксический ошибке :
Заглянула в этот файл, а там ANSI кодировка, и не переводится в читаемый вид.
В этом ли проблема, и как ее решить?
после выполнения всех действий по инструкции не работал myphpadmin: выводилось сообщение "расширение mysqli не найдено". Разкомментировал строку
extension_dir = "C:\server\bin\php\ext\"
все заработало
Почему она была закомментирована? Зачем нужно было отступать от инструкции? Здесь ясно написано:
Открываем файл php.ini любым текстовым редактором, ищем строчку
; extension_dir = "ext"
и заменяем её на
extension_dir = "C:\Server\bin\PHP\ext\"
Как эти слова можно понять неправильно? А если вы поняли правильно, зачем сделали наоборот?
И здесь в комментариях 99% подобных проблем…
У меня та же самая проблема. При заходе на http://localhost/phpmyadmin/ выдает: Расширение mysqli не найдено и тд. Строка extension_dir = "C:\Server\bin\PHP\ext\" присутствует ( то есть я заменил этой строкой строку ; extension_dir = "ext" по инструкции). Кроме того не получается открыть свой тестовый сайтик. Я поместил его по пути : C: \Server\bin\Apache24\htdocs\ при переходе по ссылке выдает что такой сайт не найден. Что я не так делаю?
Про тестовый сайт ошибка очевидна - его нужно было размещать в папке C:\Server\data\htdocs\ (в инструкции эта папка упоминается шесть раз, а ваш каталог (C:\Server\bin\Apache24\htdocs\) упоминается ноль раз).
Это же касается и первой ошибки - где-то что-то невнимательно сделали. Может быть сервер не перезапустили.
Версия PHP у вас 7.2? Не 7.1?
Версия 7.2.1. Апач перезапускал следуя статье (я сделал это через диспетчер задач).
Значит что-то где-то не раскомментировали, не дописали, пропустили. А может быть, перезапуск через Диспетчер задач не подходит (перезагрузите компьютер, если не хотите через командную строку).
Инструкция требует не так уж много времени - попробуйте завтра ещё раз на свежую голову.
Ещё попробуйте добавить переменную окружения PHP - это 11й шаг.
Сайт заработал, кстати, спасибо за совет!
Выполнил 11й пункт перезапустил сервер, не помогло. Может проблема в том что я испольозовал phpMyAdmin-4.7.7-all-languages.zip , а не ту что была указана в статье?
Кроме того, почему то не выполняется PHP код, а выводиться как в текстовом файле почти без изменений. С чем это может быть связано?
PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: C:\\Server\\bin\\PHP\\ext\\curl (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_curl.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: C:\\Server\\bin\\PHP\\ext\\intl (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_intl.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ldap' (tried: C:\\Server\\bin\\PHP\\ext\\ldap (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_ldap.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: C:\\Server\\bin\\PHP\\ext\\pdo_pgsql (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'pgsql' (tried: C:\\Server\\bin\\PHP\\ext\\pgsql (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_pdo_pgsql.dll' (tried: C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n), C:\\Server\\bin\\PHP\\ext\\php_php_pdo_pgsql.dll.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n)) in Unknown on line 0
[Thu Dec 21 09:49:58.102852 2017] [mpm_winnt:notice] [pid 8156:tid 328] AH00354: Child: Starting 64 worker threads.
переменную прописал, ну никак не могу понять в чем ошибка! помогите, пожалуйста
Все на месте
у кого вылетают ext, в файле httpd.conf
попробуйте прописать
LoadFile "C:/Server/bin/php/php7ts.dll"
LoadFile "C:/Server/bin/php/libpq.dll"
LoadModule php7_module "C:/Server/bin/php/php7apache2_4.dll"
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<IfModule php7_module>
PHPINIDir "C:/Server/bin/php"
</IfModule>
<IfModule mime_module>
AddType text/html .php .phps
</IfModule>
Перезапустить apache
Спасибо большое, сильно помогли. Здоровья детям.
Большое спасибо, все работает.
Но столкнулся с проблемой, работаю с проетками на Битриксе, при установке в php.ini значения:
mbstring.func_overload = 2
Просто перестает работать сервер, как только изменить обратно значение на 0 все работает.
Данная строка мне необходима, так как без нее не устанавливаются Битрикс Дистрибутивы.
Большое спасибо за внимание.
Проблема была решена.
PHP 7.2 и выше не поддерживает mbstring.func_overload и если ставить значение больше 2 сервер не запускается.
Проблема решена установкой PHP версии 7.1
Для установки ocStore? требуются библиотеки " cURL " и " mCrypt " подскажите пожалуйста как установить библиотеки…
Начиная с версии PHP 7.1.0 функция mcrypt объявлена устаревшей, а начиная с PHP 7.2 попытка использовать это расширение вызывает ошибку. Подробности: "Переход с устаревшего расширения mcrypt на openssl_encrypt".
спасибо
Подскажите пожалуйства, как исправить проблему с phar. в .php.ini: phar.readonly = On но при попытки поставить ту же umi.cms выдает что расширение phar не установлено, хотя он идет по умолчанию в php. Как исправить такое положение дел? Версия php 7.2.1
Это расширение и встроено, и включено по умолчанию. Когда вы раскомментируете строку phar.readonly = On, то ничего не меняется (поскольку оно включено по умолчанию). Изменения происходят только если вы пишите phar.readonly = Off, в этом случае оно отключается (но его опять можно включить в любом скрипте). Наверное, дело в КМС – обратитесь в их службу поддержки.
Благодарю. Попробовал установить в 10 ке, по инструкции автора, только на диск D, все работает.
Добрый день.При установке Апача выдает ошибку "0409" не является внутренней или внешней командой исполняемой программой или пакетным файлом".Что не так сделано?
Можете сделать скриншот? Картинку можно добавить здесь к коментарию.
Вот такая ошибка
Так лучше должно быть видно
После выполнения команды у вас выводится надпись, что служба Apache уже установлена (AH00433: Apache2.4: Service is already installed.). Т.е. всё в порядке.
Что касается ошибки «0409», то она никак не связана с установкой веб-сервера. Она связана с тем, что в командную строку вводится «0409» и нажимается кнопка ENTER. Можете провести эксперимент: открыть командную строку, ввести туда 0409 и нажать ENTER – увидите «ошибку 0409».
Как отписаться от получения оповещений о новых комментариях?
Удалил вашу подписку. В каждом письме должна быть ссылка на "отписку" от комментариев.
Добрый день, у меня есть вопрос. (Возможно кому-то тоже помогу)
Запускаю службу через командную строку с правами администратора. Вот что я получаю:
C:\Windows\system32>net start mysql
Служба "MySQL" запускается..
Не удалось запустить службу "MySQL".
Служба не сообщает об ошибке.
Для вызова дополнительной справки наберите NET HELPMSG 3534.
После того как я перенес вручную из папки C:\Server\bin\mysql-5.7\data в папку C:\Server\data\DB\data ошибка исправилась и служба успешно запустилась. Все ли я правильно сделал? Можно ли так? Не будет ли в будущем проблем?
Судя по всему, вы выполнили инициализацию (команда C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root) до того, как создали конфигурационный файл. В результате необходимые файлы были созданы в папке по умолчанию. После этого вы создали конфигурационный файл MySQL и пытались запустить службу, которая, в соответствии с конфигурационным файлом, искала созданные при инициализации файлы в новом расположении (а не в дефолтном, где они были созданы).
Т.е. это исключительно ваша ошибка – если в точности следовать инструкции, этой проблемы не будет.
Поскольку файлы вы всё-таки перенесли в нужное расположение, проблем больше быть не должно.
Эта проблемма возникает потому что mysql занимает порт 3306. Так вот. этот порт уже занят каким то процессом, легко проверить -
C:\> netstat -a -b. Это может быть процесс wmms.exe. Как его остановить непонятно.
Пишут, что wmms.exe - это майнер. То есть программа, которая использует ресурсы вашего компьютера для заработка другим людям (нагружает процессор и потребляет электричество). Вам нужно проверить компьютер на вирусы.
Уважаемый Автор Алексей!
(установил на нескольких VM windows (VirtualBox) - все работает, одна маленькая проблемка)
Если в курсе подскажите. Как заставит Firefox видеть локалные хосты?
Хром и опера без проблем, а вот фох вместо http://1.localhost перебрасывает на http://www.1.localhost и говорит - ну не могу я открыть.
- возможно, что то в настройках, хосты делал по инструкции на автоподхвате - папки из virthosts
(и кстати, если это интересно - где то ранее у Вас читал предупреждение, что Апаче должен быть только один, у меня стоит три и все работают без проблем, установленный по инструкции третий)
Заранее благодарен
Проверка работы файла hosts
Убедимся, что DNS запись действительно указывает на наш локальный веб-сервер. Для этого в командной строке выполните:
Т.е. для вашего случая это:
Если вы получаете ошибку
Значит не настроены, неправильно настроены виртуальные хосты в файле C:\Windows\System32\drivers\etc\hosts
Откройте этот файл и добавьте туда запись
Сохраните и закройте файл.
Выполните ещё раз
Должен пойти пинг, как это показано на скриншоте:
У меня такое поведение (переадресация с http://1.localhost на http://www.1.localhost) наблюдается только если не прописан соответствующий виртуальный хост в C:\Windows\System32\drivers\etc\hosts. Почему в Хроме работает? Не знаю, наверное, какая-нибудь «интеллектуальная» фишка от разработчиков. А Опера (теперь) основывается на движке Хрома. Поэтому в ней одинаковое поведение с Хромом.
Ещё посмотрите мой ответ здесь: https://hackware.ru/?p=1612#comment-3875, возможно он будет полезным при последующих проблемах.
Кстати, посмотрите саму инструкцию https://hackware.ru/?p=1612 – там много про виртуальные хосты – там написано, как сделать это правильно, а также интересные «необычные» варианты.
С самим Firefox-ом делать ничего не следует, с IE так же - все должно работать с настройками по умолчанию!
Сразу ответ не помог, но потом понял, что не установлен DNS-сервер, т.к. отсутствует файл hosts (C:\Windows\System32\drivers\etc\hosts). Установил через управление сервером (Диспетчер серверов) / предпочитаю для комфортной работы Windows сервера (в них меньше пользовательского мусора, работают процентов на 20 быстрее)
в hosts прописал
127.0.0.1 1.localhost
127.0.0.2 2.localhost
127.0.0.3 3.localhost
после этого стал видеть и Фокс и ИЕ (настроенные- по умолчанию), без каких либо внутренних изменений, дополнений и галочек.
http://1.localhost и т.д.
Пришлось при дописании в хостс много перезагружать сарвер Апаче - скрипт .vbs для быстрой перезагрузки Апаче: /назовем restartApache.vbs - внутрь блокнотом помещаем:
Set WShell=WScript.CreateObject("WScript.Shell")
WShell.Run "cmd /c d:\Server\bin\Apache24\bin\httpd.exe -k restart",2
Перезагрузка быстрее, чем через монитор сервера.
По поводу запуска нескольких версий Апаче - не все так просто. два из трех серверов Апаче запускают установленные программы и там менять особо не хочется,т.к. заточка чисто под эти программы. Например один из серверов создан программой themler и когда там что либо меняешь прекращается подгрузка с сайта производителя программы. Тем более, что все три прекрасно уживаются и ресурсов практически не едят.
Вывод: Если не работают Firefox и IE (не видят поддомены localhost), Значит нужно смотреть как работает DNS сервер, а не ковырять браузеры.
PS. Еще раз благодарность за проделанную работу и выложенную информацию - изложенный вами способ наиболее прост и удобен.
Vladimir.
Что касается нескольких версий Apache – вряд ли я что-то про это писал, т.к. такое мне бы просто не пришло в голову. Если нужно сделать так, чтобы Apache работал на разных портах и/или с разными виртуальными хостами и/или с разными настройками, то для всего этого я бы просто редактировал файл(ы) настроек Apache, без установки/запуска нескольких экземпляров веб-сервера.
Здравствуйте! Спасибо за толковые и понятные статьи «Установка веб-сервера (Apache 2.4, MySQL 5.7, PHP 7, phpMyAdmin)» и "Как установить WordPress в Windows". Все получилось!!
Но у меня как не очень опытного пользователя возник вопрос: как посмотреть созданный сайт с другого ПК (ПК с апач и другой ПК соединены по вайфаю). Если в firefox просто набрать localhost/wordpress/ выдается сообщение "попытка соединения не удалась"
Здравствуйте! Подготовил инструкцию здесь: https://hackware.ru/?p=4780
Мой компьютер имеет локальный IP адрес 192.168.100.5. Если я, например, в другом ПК, подключённому по Wi-Fi к роутеру наберу в адресной строке 192.168.100.5, то откроется веб-страница моего локального веб-сервера, содержащая:
phpmyadmin/
wordpress/
i.php
но при выборе wordpress браузер переходит на страницу localhost/wordpress/ и выдает сообщение "Не могу открыть страницу localhost". Тоже происходит при задании в строке браузера: 192.168.100.5/wordpress/. Т.е. сам сайт, созданный в wordpress я не вижу. Подскажите, пожалуйста, в чем может быть дело?
Скорее всего, в этих настройках в качестве адреса WordPress и адреса сайта прописано localhost:
Замените localhost на http://192.168.100.5/wordpress/, т.е. на IP адрес + название папки, где расположен сайт.
Кроме того, что сайт будет доступен для других устройств в локальной сети, это приведёт к тому, что при открытии сайта WordPress даже на том компьютере, где установлен веб-сервер, будет происходить переадресация на http://192.168.100.5/wordpress/ - это нормально.
Важно: IP адрес должен быть статичным, иначе в случае смены IP адреса не сможете попасть в админку WordPress, поскольку будет происходить постоянная переадресация на 192.168.100.5, который недоступен.
Подскажите, как сделать чтобы устаовленный сервер Апач был доступен в локальной сети.
Т.е. чтобы его можно было открыть с другой машины в локалке по его ip, например так http://192.168.2.1
Посмотрите инструкцию "Как веб-сервер на своём компьютере сделать доступным для других".
Добрый день, Алексей! Подскажите пожайлуста. На пункте 6 выдает ошибку: The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.
В чем может быть проблема?
Не добавили или записали с ошибкой строку PHPIniDir "C:/Server/bin/PHP" в файл c:\Server\bin\Apache24\conf\httpd.conf, правильно?
Все пункты были инструкции были проверены неоднократно, но выдавало эту ошибку при входе в phpmyadmin. Но буквально через пол часа простого ожидания phpmyadmin загрузился. Никаких изменений я в файлы не вносил после данной ошики.
С чем это может быть связано?
Алексей, спасибо Вам за данную статью мне очень помогло в работе. Это универсальная инструкция для разных версий программ.
Алексей, статья суперсуперская - разжёвано всё по максимуму.Я вообще первый раз взялся за такое дело.Сначала ,правда , поэксперементировал с денвером , но что то пошло не так….В Вашем варианте , действительно , если вдруг накосячил , можно вернуться и переделать.Вообщем у меня всё заработало , был лишь один косяк с моей стороны - не переименовал php.ini-development в просто php.ini , поэтому выдало у меня сначала ошибку "The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information." Почитал отзывы , частенько она у людей проскакивает, поэтому может стоит в статье акцентировать внимание , что там нужно переименовать на ".ini".Спасибо огромное за статью!
Здравствуйте. Скажите пожалуйста, как быть в пункте 4, если MySQL уже был установлен ранее в другую директорию?
Просто пропустите установку MySQL.
Спасибо.
Что не так
А все понял,но у меня не открывает I.php.
Выводит просто его содержимое.
все у меня получилось просто создал новый файл и переделал ссылку.
Спасибо за инструкцию.Буду надеятся что это всё.
Здравствуйте, проблема при установке MySQL.
Пишет в командной строке при попытке запуска, что "Не удалось запустить службу "MySQL" и "Служба не сообщает об ошибке". Две предыдущие команды работают нормально, проблема возникает после ввода в командную строку "
net start mysql
".Подаскажите, полжалуйста, как исправить и в чем может быть проблема.
Вот скриншот
Делала всё строго по инструкции
Посмотрите, в папке C:\Server\data\DB\data\ были сгенерированы файлы и папки? Вы их случайно не удалили по собственным причинам?
Нет, там ничего нет. Удалить я их не могла точно
Ошибка именно из-за того, что не были созданы эти файлы. Я не могу у себя повторить эту проблему – если я удаляю файлы и запускаю команду, то файлы появляются.
Если у кого-то ещё такая проблема – пишите здесь. И если наоборот – файлы создаются, также пишите в комментариях – будет интересно разобраться.
Хотя у вас один файл всё-таки появился.
Вот один из сгенерированных файлов. Я так понимаю, что это отчет об ошибках. Может быть Вам это поможет понять, в чем проблема. Сама я в этом не очень хорошо разбираюсь.
Добрый день. Не генерируются файлы в папке C:\Server\data\DB\data. Пробовал уже много раз - результата нет(
Добрый день. У меня не генерируются файлы в C:\Server\data\DB\data. Делал все по инструкции и пробовал дополнительный способ - ничего не помогло. чт это может быть?
Второй дополнительный способ решить проблему в этом комментарии.
Если также не поможет, тогда совсем не знаю – у себя эту ошибку я воспроизвести не могу – у меня файлы появляются.
Ещё один вариант – я настроил сервер, как описано в этой инструкции, и запаковал его в архив. Т.е. для установки достаточно распаковать архив и запустить службы. Как это сделать подробно написано здесь.
Архив пробовал установить - еще на установке апача выскакивает ошибка и установка прекращается
Написали бы сразу – какая ошибка? Лучше бы, приложили скриншот. Аналогично с MySQL – что в файле C:\Server\data\DB\data\*.err?
Кстати, у вас 32-битная система? Если так, то посмотрите этот комментарий и ответ под ним.
Устанавливали файлы vc_redist.x64.exe и vcredist_x64.exe, о которых говориться в начале статьи?
Предыдущий скрин отчета об ошибках сделан после удаления MySQL и его повторной установки, но БЕЗ файла my.ini. А вот очет после еще одного удаления и установки с этим файлом (my.ini (самый первый раз я устанавливала ПО ИНСТРУКЦИИ, т.е. СОЗДАВАЯ этот файл my.ini перед инициализацией и непосредственно самой установкой и запуском MySQL, это уже сейчас решила попробовать сделать это без него, мало ли помогло бы)).
Когда вы делаете переустановку MySQL, вы очищаете папку C:\Server\data\DB\data\? Т.е. вы удалили файл ibdata1 и другие файлы, если они там есть?
Если скаченный архив с MySQL (mysql-5.7.21-winx64.zip) распаковался без ошибок, то не нужно его «переустанавливать».
В приведённых логах программа жалуется на проблемы в файле ibdata1 (заголовок состоит из нулевых байтов, повреждённая страница файла базы). Всё остальное уже последствия: аварийное завершение плагина InnoDB из-за неверных данных.
Думаю, проблема в следующем: при первой инициализации произошла какая-то ошибка и был создан повреждённый файл ibdata1. При последующих переустановках вы не очищали папку C:\Server\data\DB\data\, и при каждой инициализации была попытка использовать повреждённый ibdata1.
Попробуйте очистить папку C:\Server\data\DB\data\ от всех файлов, в том числе логов, и выполнить инициализацию: если всё прошло успешно, должно появится несколько файлов и папок, как это показано на скриншоте в инструкции.
Если произошла ошибка, то покажите лог ошибок, полученный в результате самой первой инициализации – важно разобраться, почему файл ibdata1 повреждён.
Да, я очищала эту папку от всех файлов. Т.е. я сначала удаляла MySQL через командную строку как у вас написано тут в инструкции, затем удаляла из папки, куда должны быть сгенерированы файлы, всё, что там было, и заново выполняла инициализацию, установку и запуск.
Результат тот же. MySQL не хочет запускаться.
Тут Вы имеете ввиду показать этот файл, что я Вам уже кидала, только на этот раз после удаления MySQL, очистки папки с сгенерированными файлами и после ТОЛЬКО инициализации (т.е. после команды " C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root")? Если так, то вот:
Вот что в самой папке появляется:
Я нагуглил, что для решения проблемы
необходимо в файл my.ini добавить строку
После этого очистить папку C:\Server\data\DB\data\ и вновь попробовать инициализировать.
Если не помогло, то вместо той одной строки добавить следующие:
Очень многие пишут, что помогло (достаточно одной первой строки). Проблему связывают с драйвером жёсткого диска, у некоторых возникает при использовании рейда или при отдельных конфигурациях жёсткого диска).
Спасибо Вам огромное! Первый способ помог, вполне было достаточно добавить ту одну строку в my.ini.
Все файлы сгенерировались и служба успешно запустилась.
---
Если Вам не сложно, то можете объяснить простым языком для обычного человека, в чем была у меня проблема и что делает эта строчка, которую я добавила в файл? Извините, если совсем не по теме, просто самой интересно очень.
Потратил 2,5 часа на эту ошибку ничего не помогало - выбавал ошибку при инициализации MySQL - а всего-то нужно было удалить (переименовать) папку data и заново выполнить инициализацию.
Просто у вас в инструкции https://hackware.ru/?p=21#4 немного непонятно написано:
===============================================================
Если инициализация завершилась неудачей и в папке C:\Server\data\DB\data\ недостаёт файлов, а в логе ошибок C:\Server\data\DB\data\*.err вы видите примерно следующие записи:
То для решения этой проблемы удалите ===>>> все файлы <<<=== из папки C:\Server\data\DB\data\ и в файл my.ini добавьте ещё одну строчку
===============================================================
Ну я и удалял ТОЛЬКО файлы, но не папки внутри неё. а надо всё.
И получилось 🙂
Спасибо, что обратили внимание - поправил в тексте инструкции.
Большое спасибо. Все заработало с первого раза на Windows 10. Использовал последние релизы программ.
Спасибо большое, все заработало с первого раза, ни каких танцов с бубном, прошелся по всей инструкции, и все!!!
Был только один глю, из за IE, он не в какую не хотел открывать localhost/phpmyadmin страницу с логином и поролем, отрабатывал пустую белую страницу и все, решение нашел, очень простое, поменял браузер на Opera и все открылось.
Теперь буду ставить PHPBB форум с чатом, спросите вы зачем оно мне все, ответ прост, домашнее задание в Компьютерной академии "ШАГ", сначало препад дал задание поднять на iis 7 шаблон сайта на php 7 версии, сделал, потом он захотел форум на iis 7 с phpbb, но форум не подымается, в MySQL базу создал, пользователя создал, ставлю phpbb пишет ошибку 500.19, так и не смог решить. Посмотрим как оно на Apache получится….
Здравствуйте! Такая проблема, после команд
C:\Server\bin\mysql-5.7\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql-5.7\bin\mysqld --
install
net start mysql
C:\Server\data\DB\data\ нетув пункте 4 никаких файлов в каталоге
Попробуйте это решение https://hackware.ru/?p=21#comment-4079
datadir="c:/Server/data/DB/data/" в my.ini должна быть без кавычек. Тогда \data заполняется сразу.
Alexey: Довольно странно что у Вас в статье на скришоте когда Вы открываете пустой локальный сайт открываеться непонятная страничка а не about Apahe прописанный в файле /*……/httpd/conf.d/welcome.conf ?
Ну возможно я ошибаюсь и это лишь разность копиляции сервера Apache для разных платформ и операционных систем ??
Надо было читать статью, а не просто смотреть картинки — не было бы странно.
Спасибо. Единственный доступный рабочий гайд.
Единственное, что надо было догугливать:
"
http://localhost/phpmyadmin/
выдает ошибку
phpMyAdmin - Ошибка
Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.
"
Нужно в php.ini :
; On windows:
extension_dir="ext"
заменить на :
; On windows:
extension_dir="C:\Server\bin\PHP\ext"
Автору большое человеческое спасибо(про phpstorm есть такой-же гайд?)).
Приветствую! Спасибо за положительный отзыв. Но ведь про extension_dir говорится на 5м шаге.
Доброе время суток !
Вопрос совсем от новичка У Вас написано про создание каталога и подкаталога Это тоже самое что создание папок и вложенных папок или что-то иное ?
Да, это одно и то же. Ещё директории - это тоже папки, а поддиректории - вложенные папки.
Благодарю .
Благодарю. Но через Total предлагает создать каталог. Никогда ранее не обращал на это внимание.
Наверное, так, как я никто в самом начале не запинался. Установил vcredist_x64. А при установке VC_redist.x64 оно стало на меня ругаться - лицензионное соглашение и прочее. Что надо дальше сделать? Я не в том порядке установил? Если да, то как удалить и всё исправить?
Наверное, второй вопрос был лишним. Я всё таки дошёл до Index of/
Благодарю
А что здесь я делаю не так? Может ,этот my.ini не так создаю? Сначала он был создан в блокноте, но после ввода net start mysql писало много строк с ошибкой. Потом удалил и создал в WordPad, но после этого такое выдаёт
Прикреплено
Вы написали в конфигурационном файле
А надо:
Пожалуйста, будьте внимательны. Одно дело помочь разобраться в трудной ситуации, и другое отвлекаться на совсем несерьёзные вещи, тем более, что инструкция максимально подробная.
Принципиально или нет, что в п.1. phpMyAdmin-4.7.6-all-languages.zip. В п.6 phpMyAdmin-4.5.1-all-languages.zip. А при текущем скачивании другая версия. Это не может быть причиной такого сообщения Расширение mysqli не найдено . В комментариях неоднократно этот вопрос повторяется, всё перепроверено, но результат не меняется. вариант удаления новой версии и поиска той, что указана в инструкции может дать результат?
Что касается версии – просто скачивайте самую последнюю. Инструкция постоянно подправляется, поэтому могут быть некоторые разночтения. Смысла искать старую версию нет – ничего не измениться, поскольку проблема 100% в неправильной настройке сервера.
Если хотите, дайте файлы, про которых говориться в пункте https://hackware.ru/?p=21#16 (десятый пункт)
https://oldbrowser.files.fm/u/en9vjnqf
https://ru.files.fm/u/en9vjnqf#_
Здравствуйте!
Размещено здесь. Совсем туплю, несколько раз удаляла и перепроверяла.
И ещё – вчера 2 раза после установки делала перезагрузку, так он пишет Службе «Служба профилей пользователей» не удалось войти в систему. Невозможно загрузить профиль пользователя.
Огромное спасибо за инструкцию, там всё супер. Может, моя ошибка ещё в первых установках? Apache и PHP загружаются.
Утром писала ссылку на файлообменник, но её пока нет здесь. Прихина не может быть в этом - внизу не все файла , как в инструкции п.4
ibdata1
а потом только
WIN-C8 и т.д……….er
Здравствуйте! Предыдущее сообщение попало в СПАМ - я его нашёл и восстановил.
В папке должны быть все файлы базы данных. Попробуйте это решение https://hackware.ru/?p=21#comment-4079
Здравствуйте!
Ошибка осталась
Ссылка на файлообменник с документами по п.16.10
https://oldbrowser.files.fm/u/76c8nwyr#_
Файлы в папке C:\Server\data\DB\data\ все появились?
Здравствуйте!
Предыдущим письмом отправила ссылку на архив со вчерашними последними переустановками.
Ситуация с ошибкой phpmyadmin та же самая.
1. При добавлении строки при перестановке
MySQL
всё появилось. Но позже, уже после сохранения архива и перезагрузке компьютера, решила посмотреть, что там, оказалось, что как и было в первых вариантах. Загрузилось, а потом удалилась.2.
MySQL
должен где-то запускаться? Похоже, что причина всех проблем phpmyadmin в нем?3. Что здесь так и не так? При запуске сервера на нем есть сразу переход на на php и phpmyadmin с ошибкой.
MySQL
нет.
Прикрепила фото документов
У вас конфигурационные файлы названы php.ini.ini и my.ini.ini - одного этого достаточно, чтобы не работало. Я не зря там писал - делайте на свежую голову и всё будет работать.
это было вначале,но потом снова пропало.
возможно, после перезапуска пк
за последние несколько дней, то удаляла, то удаляла, то добавляла это второе .ini Если только вэтом проблемма, то вечером снова попробую всё переустановить.
Ещё не могу определиться в Настройка PHP 7 стоит так
extension_dir = "C:\Server\bin\PHP\ext\"
Это и должно быть или надо поменять \ на /
Главное правило этой инструкции - никакой отсебятины, и всё будет очень хорошо. Т.е. как написано, так и нужно делать.
Это, вряд ли связано с установкой (возможно, проблемма у своего пк), но вчера после нажатия перезагрузить стало появляться
An operating system wasn't found. T
ry disconnecting contain an operating system.
Press any key to restart.
После этого выключаю и при включение выходит то, что на фото ниже. Выхожу из системы и только тогда попадаю куда надо
Алексей, полностью с Вами согласна про отсебятину. А инструкция отличная, как раз для таких непонимающих, как я.
Надеюсь, сегодня получится
Здравствуйте!
А что значит вот этот текст?
В последней строке написано - невозможно установить продукт, если уже установлена более новая версия.
А это нормально или нет, что vcredist_x64.exe установилось
А vc_redist.x64.exe вот эту большую ругалку пишет?
Можно попросить Вас удалить с сайта это сообщение от 13.04.2018 в 20:19.
Не стоит таким длинным вопросом засорять сайт.
Спасибо
Если даже я (полный ноль неделю назад в этих вопросах) смогла пройти все этапы и дойти до того, что поставила WordPress, то хочу сказать, что автор этой инструкции профессионал высокого уровня. Никакие дипломы и высшие категории не могут быть поставлены рядом с автором этой инструкции, если они не способны так доходчиво изложить информацию. Огромное спасибо за Вашу работу!
Все заработало, но у меня была проблема, не описаная в статье:
При заходе на localhost открывался Default Web Site из IIS. Хотя он был остановлен.
Решилось удалением дефолтной папки с заглушкой c:\inetpub\wwwroot\
Здравтствуйте, кое-как отмучившись с установкой apache (80 порт был занят sql express 2008 r2 , отключила эту службу вручную, предупреждать он меня не перестал, но хоть локалхост открывает), начала мучиться с mysql, скачала то, что надо, сделала все, как надо, компьютер пишет, что это вообще не приложение для моей ОС (32 бит). Я все обычкала, ничего не нашла. Помогите, пожалуйста
Приветствую! Начиная с MySQL 8.0, версия в zip архиве доступна только для 64-битных систем.
Для 32-битных систем на той же странице имеется exe установщик, но я не знаю, подойдёт он для этой инструкции или нет.
В качестве альтернативы, можете установить MySQL 5.7.* https://dev.mysql.com/downloads/mysql/5.7.html#downloads. В той ветке имеется версия для 32-битных систем.
Здравстуйте!Спасибо за полезный труд. Я установил sql5.7, но при выполнение команды выдает сообщение…. Для вызова дополнительной справки наберите NET HELPMSG 2185. Как же можно исправить это дело ?
Напишите, что в файле C:\Server\data\DB\data\*.err?
Спасибо, добрый человек, дай бог тебе здоровья! Два дня голову ломал как на Денвер свежий PHP установить, а так еще и проще оказалось!
Здравствуйте!
У меня со вчерашнего вечера такое. Может, от того что не сделала обновление?
mysqli_real_connect(): (HY000/2002): ��������� �� �����������, �.�. ������ ������� ������ ������ �� ���������.
В папке, где у вас WordPress, найдите файл wp-config.php и откройте его текстовым редактором. В этом этом файле строку:
замените на строку:
Что-то делали с сервером перед тем как перестало работать? Проблема также может быть в том, что MySQL не запущена. Раньше всё работало?
При попытке входа в консоль пишет
Ошибка установки соединения с базой данных
Это значит, что либо имя пользователя и пароль в файле
wp-config.php
неверны, либо нам не удалось связаться с сервером базы данных по адресуlocalhost
. Возможно, сервер недоступен.Вы уверены, что указали правильное имя пользователя и пароль?
Вы уверены, что ввели правильное имя сервера?
Вы уверены, что сервер базы данных запущен?
Если вы не знаете, что означают эти термины — возможно, стоит обратиться к хостинг-провайдеру. Если и после этого вам понадобится помощь — всегда можно посетить форум поддержки WordPress.
Наверно, причина в этом - как можно исправить? Весь документ такой
================
wp-config.php
<?php
/**
* Основные параметры WordPress.
*
* Скрипт для создания wp-config.php
Разобралась.
Нашла то, что ниже и помогло
--------
Из командной строки попробуйте последовательно выполнить команды на остановку и запуск службы.
NET stop MySQL
NET start MySQL
Получается, что у вас была остановлена служба MySQL. Она либо не добавлена в автозагрузку (т.е. когда запускается вместе с включением компьютера), либо в тот раз была остановлен из-за чего-то другого.
Здесь в инструкции описано, как добавлять MySQL в автозагрузку.
Алексей, добрый вечер! Ваш ответ увидела только что. Спасибо , если бы увидела раньше, то может мои "скитания по сайтам" закончились бы раньше.
Особо ничего не делала, только после установки много тем в WordPress создала - наверное, где-то напутала.
Добрый день! Пока только в начале пути. Установила Apache. Index of появилось все ок.
Вот так сделала, по localhost появляется нужная мне страница. А как сделать, чтоб она отктывалась под моим именем, а не localhost. Пробовала писать строчку в hosts файле 127.0.0.1 имя. но не получается. Это может означать. что все-таки неверно установила?
Здравствуйте! Возможно, вы имеете ввиду виртуальные хосты? Если их, то требуется дополнительная настройка, она описана в этой статье: https://hackware.ru/?p=1612
Верно. Спасибо! Изучила статью. Использовала вот это - Виртуальные хосты на основе имени хоста. C:\Windows\System32\drivers\etc\hosts сюда добавила строчку, строчку раскомментила необходимую в httpd.conf, и в вот этот файл httpd-vhosts.conf добавила необходимое. Localhost открывается, сайт с именем нет. Что я упустила, что не работает(? не могу понять
В файл C:\Server\bin\Apache24\conf\extra\httpd-vhosts.conf нужно не просто скопировать то, что указано в качестве примера. Строку ServerName study.loc нужно заменить на свою, где вместо study.loc должно быть имя, которое указано в C:\Windows\System32\drivers\etc\hosts.
Аналогично со строкой DocumentRoot "C:/Server/data/htdocs/virthosts/host1/".
Не забывайте перезапускать веб-сервер, после изменения конфигурационных файлов.
Если что-то не получается с вашими собственными настройками, попробуйте пример из той статьи. Т.е. создайте виртуальных хост с именем study.loc и попробуйте открыть его в браузере.
Здравствуйте!
Уже удалила и по новой всё установила. Теперь всё работает.
Но в чём могла быть причина последних сообщений:
Добро пожаловать в phpMyAdmin
Существует несоответствие между HTTPS, указанным на сервере и клиенте. Это может привести к неработоспособному phpMyAdmin или угрозе безопасности. Исправьте конфигурацию своего сервера, чтобы правильно указать HTTPS.
========
Если бы не устанавливала по новой, то что надо делать для исправления этой ошибки?
Большое спасибо
Здравствуйте!
Все сделала строго по инструкции, в процессе установки и настройки ошибок не появлялось. в папку C:\Server\data\htdocs скопировала папку с приложением application. При загрузке страницы http://localhost/application появляется сообщение "Not Found. The requested URL /index.php was not found on this server." index.php в папке с приложением есть. Подскажите, пожалуйста, в чем может быть проблема?
Попробуйте открыть http://localhost/, там видно папку application? Если папку application не видно зато там видно надпись "It works!", то значит вы пропустили настройку Directory.
Это наверное нововведение в MySQL 8, но раньше при вставке поля без явно заданого значение по умолчанию в текстовые поля оно ставило '', а числовые 0. Теперь же генерит ошибку 1364 Field doesn't have a default values.
Как бороться с этим? переписывать все таблицы во всех проектах вообще не выход((
убрал sql_mode=STRICT_TRANS_TABLES, все стало как было. НО!
Разворачиваю новую версию OpenCart 3, ругается на комманду SET @@session.sql_mode = 'MYSQL40' тоже убрал. Пока без ругательств. Что за режим не понятно, будем надеятся что пронесет…
Добрый день! Установил MySQL по инструкции, инициализация прошла успешно, после чего установил и пытаюсь запустить net start mysql получаю следующее сообщение:
И не могу от нее избавиться, какие могут быть решения, заранее благодарен
Попробуйте очистить папку c:/Server/data/DB/data/ и заново выполнить инициализацию.
Если результата не будет, то напишите, что у вас в файле C:\Server\data\DB\data\*.err после инициализации и попытке запуска.
Во время инициализации следующие записи:
После запуска:
После установки появилось новое сообщение:
Во время инициализации пишет "неизвестная опция --Â". Можете сделать скриншот окна командной строки, когда вводите первую команду - чтобы команда тоже попала на изображение? Картинку можно присоединить прямо к коментарию.
Проверьте .ini файл с настройками, чтобы в нём не был лишних символов.
Командная строка
my.ini
В команду как-то попадает необычный символ. Если копируете-вставляете команду с сайта, то попробуйте её набрать по букве с клавиатуры. Если набираете по букве – то попробуйте скопировать-вставить из инструкции.
Перед тем как делать – очищайте папку c:/Server/data/DB/data/.
Ещё один вариант – я настроил сервер, как описано в этой инструкции, и запаковал его в архив. Т.е. для установки достаточно распаковать архив и запустить службы. Как это сделать подробно написано здесь.
Если будете ставить из архива, то предварительно удалите сервер, установленный по этой инструкции.
Сапсибо, Алексей, огромное. Ручками все получилось, пробую теперь дальше.
P.S. Очередной убеждаюсь, что автоматике, в частности Ctrl+C - Ctrl+V, доверять нельзя. Обязательно Ваш блог сохраню в закладки и буду рекомендовать другим, впервые встречаю, чтобы автор лично отвечал на возникающие вопросы по его же статье, а не приходилось самому додумывать по несколько суток
Добрый день! Появилась новая проблема. В логах появляются ошибки:
PHP директории в PATH добавил:
Что еще необходимо сделать?
Откройте командную строку и выполните там:
Должная появиться информация о версии PHP.
Если же будет что-то вроде:
то это означает, что переменная окружения не установлена/установлена неправильно. Обратите внимание – в статье написано, что её нужно двигать в самый вверх по отношению к другим переменным окружения.
Я посмотрел скриншоты - дело в том, что вы не передвинули переменную окружения в самый вверх - на скриншоте показано, как должно быть. Может потребоваться перезагрузка, чтобы изменения вступили в силу.
Добрый день,поствилось всё без ошибок, изменения внесла. всё запускается кроме gd2. в php.ini всё нормально, другие библиотеки запускаются, gd - нет. В phpinfo () не отражается. Стоят все последние версии , система windows 10.
Windows NT LENOVO-PC 10.0 build 17134 (Windows 10) AMD64
Apache/2.4.33 (Win64) PHP/7.2.6
; On windows:
extension_dir = "C:\Server\bin\PHP\ext\"
;
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
;extension=interbase
extension=ldap
Приветствую! В файле C:\Server\bin\Apache24\logs\error.log есть какие-нибудь ошибки? Напишите их здесь.
Алексей, большое спасибо за науку и подсказку, была ошибка в 107 строке php.ini -раскомментировала ..хотела посмотреть протокол ошибок, а их оказывается надо в логах смотреть.Теперь всё заработало.
И ещё, просто на всякий случай, в phpinfo() GD2 показывается как GD:
Здравтвуйте!
Посмотрела строку состояние в http://localhost/phpmyadmin/server_status.php
На сервере обнаружены некоторые ошибки.
Пожалуйста, посмотрите вниз текущего окна.
Warning in .\libraries\classes\Dbi\DbiMysqli.php#213
mysqli_query(): (22003/1690): BIGINT UNSIGNED value is out of range in '(unix_timestamp() - 18446744073141655155)'
Backtrace
.\libraries\classes\Dbi\DbiMysqli.php#213: mysqli_query(
,
string 'SELECT UNIX_TIMESTAMP() - 18446744073141655155',
integer 0,
)
.\libraries\classes\DatabaseInterface.php#319: PhpMyAdmin\Dbi\DbiMysqli->realQuery(
string 'SELECT UNIX_TIMESTAMP() - 18446744073141655155',
,
integer 1,
)
.\libraries\classes\DatabaseInterface.php#1581: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT UNIX_TIMESTAMP() - 18446744073141655155',
integer 256,
integer 1,
boolean false,
)
.\libraries\classes\Server\Status.php#61: PhpMyAdmin\DatabaseInterface->fetchValue(string 'SELECT UNIX_TIMESTAMP() - 18446744073141655155')
.\libraries\classes\Server\Status.php#33: PhpMyAdmin\Server\Status::getHtmlForServerStateGeneralInfo()
.\server_status.php#31: PhpMyAdmin\Server\Status::getHtml()
Мне здесь что-то надо делать после такого сообщения?
В продолжение предыдущего вопроса.
Первоначально у меня была установлена mysql-5.7. Сделала всё,как в п.14 чтобы изменить на 8.0.
Вход выполняется, но пишет
Основные настройки
Изменить пароль
Ошибка
SQL запрос: Изменить
SELECT `CHARACTER_SET_NAME` AS `Charset`, `DESCRIPTION` AS `Description` FROM `information_schema`.`CHARACTER_SETS`
Ответ MySQL:
#1449 - The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
Вроде бы, всё нормально, но для этого пришлось кроме того, что в пункте 15 ещё сделать из п.4
= удалите всё содержимое папки C:\Server\data\DB\data\
==============
И ещё C:\Server\data\DB\data\
теперь не то,что описано в п.4, а 4 папки с файлами и 21 файл. Так и должно быть из версии 8.0.11 ?
Здравствуйте! Если у вас не было информации в базах данных, которую нужно сохранить, то да, эту папку нужно удалить и затем установить MySQL «с чистого листа».
Если есть информация, которую нужно перенести из MySQL 5 в MySQL 8, то смотрите соответствующую статью: «Как обновиться с MySQL 5 до MySQL 8».
Если вы уже удалили папку, но ранее сделали резервную копию, то всё равно информацию можно восстановить и перенести в новую СУБД (об этом в той же статье по ссылке).
Что касается структуры файлов – да, она немного различается.
Добрый день! Пожалуйста, подскажите в чем дело. Ошибка Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP.
Возникали ошибки при вводе команды C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root (скрин прикрепляю)
Также,phpinfo открывается только по ссылке http://localhost/i.php.txt, а не http://localhost/i.php
Файлы в папке C:\Server\data\DB\data\ генерировались (их больше чем в примере), на всякий случай пробовала их удалить, добавляла строчку innodb_flush_method=normal в my.ini и вариант с 6 строчками
innodb_buffer_pool_size=256M
innodb_log_file_size=256M
innodb_thread_concurrency=16
innodb_flush_log_at_trx_commit=2
innodb_flush_method=normal
innodb_use_native_aio=true
Буду очень признательна за любую помощь!
Забыла указать, что ошибка возникает при загрузке phpmyadmin по ссылке http://localhost/phpmyadmin/
Так выглядит phpinfo
Если открывается http://localhost/i.php.txt, а не http://localhost/i.php, значит вы создали i.php.txt, а не i.php.
Все остальные проблемы тоже из-за того, что невнимательно делаете.
Следуйте в точности инструкции.
«Лишних» файлов нет – ничего удалять не надо. При выходе новых программ я подправляю инструкцию, чтобы она всегда была рабочей. Но у меня не всегда есть время делать новые скриншоты. Поэтому если есть разночтение между сркиншотом и текстом, всегда следуйте тексту.
На вашем первом скриншоте ошибка возникла из-за того, что запущена инициализация, хотя в папке data уже есть файлы. Рекомендую всё удалить (тут есть пункт, как правильно удалять) и сделать заново на свежую голову.
Спасибо огромное за подробную инструкцию! Все заработало! в Windows 10 расширения файлов изначально скрыты, но при создании файлов возникли сложности только с файлами php, они txt создавались, не заметила… с файлами других расширений такого не было. Еще раз спасибо!!!!
Как это исправить, подскажите?
ИЛИ не переименовали php.ini-development в php.ini
ИЛИ не раскомментировали ;extension=mysqli
ИЛИ не заменили ; extension_dir = "ext" на extension_dir = "C:\Server\bin\PHP\ext\"
ИЛИ не добавили или записали с ошибкой строку PHPIniDir "C:/Server/bin/PHP" в файл c:\Server\bin\Apache24\conf\httpd.conf
…….
Я могу долго продолжать этот список, который приводит к одной и той же ошибке. Суть одна – делайте по инструкции и ни в чём не отступайте. Если ошибка – делайте всё заново на свежую голову.
Верно, не переименовал php.ini-development в php.ini, спасибо.
Меняем
1
ServerRoot "c:/Apache24"
на
1
ServerRoot "c:/Server/bin/Apache24"
У меня вот как, в каком файле нужно менять?
извиняюсь - У меня вот как, в какой строке нужно менять?
Меняй строку Define SRVROOT "c:/Apache24"
на Define SRVROOT "C:/Server/bin/Apache24/"
Я прописывал так:
Define SRVROOT "C:/Server/bin/Apache24/"
Define DOCROOT "C:/Server/data/htdocs/"
Define PHPROOT "C:/Server/bin/PHP/"
Подправил инструкцию под новый конфигурационный файл.
Алексей, добрый день. При установке компонентов VS обнаружил, что в Вашей инструкции ссылка, которая должна указывать на vcredist_x64.exe, указывает опять на vc_redist.x64.exe.
vcredist_x64.exe я обнаружил вот здесь: https://www.microsoft.com/RU-ru/download/details.aspx?id=40784
Скачал и всё установилось.
Но на 5-ом пункте всё-таки произошел сбой. Что-то подобное в форуме обсуждалось, но у меня сообщения несколько иные.
Добавил в htthd.conf три строчки:
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
Перезапустил Apachе.
Получил сообщение, которое в прилагаемом файле.
Чтобы то значило?
Ваша ссылка на Visual C++ для Visual Studio 2013 - видимо, вы её взяли из другой инструкции, которая является перепечаткой старой версии этой же самой инструкции. Раньше был нужен этот файл, теперь компоненты сервера обновились и нужны более свежие версии распространяемого пакета - на них и дана ссылка.
По поводу ошибки смотрите эту ветку комментариев.
Спасибо, про ошибку я уже сам понял - скачал не ту версию архива PHP.
Это пожалуй лучший материал из всех пересмотренных мною. Спасибо огромное!
Здравствуйте. Проблема следующего характера:
PHP модуль подключен нормально о чем свидетельствует соответствующая запись в логах. phpinfo тоже работает.
А вот остальные php коды браузер отображает или пустой страницей или выводит непосредственно код.
Получается, вы просто забыли поставить тег <?php перед вашим PHP кодом. Пример как это сделать есть в этой статье с phpinfo:
Тег <?php никак не влияет. Проверял оба варианта. shorts в конфиге тоже включен. Думал беда в сервере, поставил денвер. Ситуация аналогичная. Interactive shell ругается на синтаксис в любом коде с первой строки. Я думаю проблема где то в операционке….
Здравствсуйте. Установил MySQL по инструкции.
C:\WINDOWS\system32>C:\SERVER\bin\mysql-8.0.12\bin\mysqld --initialize-insecure --user=root
C:\WINDOWS\system32>C:\SERVER\bin\mysql-8.0.12\bin\mysqld --install
Service successfully installed.
C:\WINDOWS\system32>net start mysql
Служба "MySQL" запускается….
Служба не сообщает об ошибке.
Для вызова дополнительной справки наберите NET HELPMSG 3534.
C:\WINDOWS\system32>NET HELPMSG 3534
Служба не сообщает об ошибке.
Не удается запустить MySQL. В чем может быть причина? спасибо
Здравствуйте. Не может запустить MySQL
Не поленился и выполнил установку в чистую систему. Работает как часы:
Смотрите внимательнее пункт https://hackware.ru/?p=21#4 там в конце говорится о возможной проблеме, а также даётся описание её решения. Если и это не помогает, то напишите, что у вас в файле C:\Server\data\DB\data\*.err
Добрый день, Алексей! Можете, пожалуйста сказать, что я делаю не так?) У меня та же проблема с ошибкой "Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP."
То, что вы писали ниже я проверил - у меня всё так, как написано. Благодарю!
Здравствуйте, очередная стопятьсотая ошибка из-за невнимательности пользователя:
0. Судя по скриншоту, инициализация выполнялась после установки — хотя это неточно, какие-то упоминания инициализации есть выше попытки установки. Если делать инициализацию ПОСЛЕ установки, то одно это уже и может привести ко всем вашим несчастьям.
1. Вместо команды
Вы вставили команду
3. Попытка инициализации. Опять, она должна идти самой первой, иначе ничего не заработает. Собственно, оно и не заработало: суть ошибки — в папке уже есть файлы, инициализация отклонена.
4. Созданную папку невозможно использовать, вы можете безопасно удалить её.
Итак, для исправления ситуации:
1. Удаляем службу:
2. В папке c:/Server/data/DB/data/ удалите все файлы
3. Соберитесь (в прошлый раз на этом шаге вы сделали две ошибки) и скопируйте в командную строку поочереди три команды:
После распаковки MySQl 8. на Windows 10, проделал все инструкции, пробую инициализировать.
mysqld --initialize-insecure --user=root
получаю в ответ вот такое
2018-09-06T15:10:59.919710Z 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.
2018-09-06T15:10:59.920030Z 0 [System] [MY-013169] [Server] C:\Server\bin\mysql-8.0\bin\mysqld.exe (mysqld 8.0.12) initializing of server in progress as process 1528
2018-09-06T15:10:59.979978Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2018-09-06T15:10:59.980356Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-09-06T15:10:59.983060Z 0 [System] [MY-010910] [Server] C:\Server\bin\mysql-8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.12) MySQL Community Server - GPL.
Как исправить эту ситуацию? Облазил весь интернет, все попытки безуспешны
В сообщении «--initialize specified but the data directory has files in it. Aborting.» говорится: «вы указали опцию --initialize, но в папке data уже есть файлы. Остановка».
Попросту удалите всё из C:\Server\data\DB\data\.
Такая же проблема, файлов никаких нет.
У вас тоже сообщение «--initialize specified but the data directory has files in it. Aborting.»?
Уже по другому пишет. Как я понял, после команды C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root , он иницилизирует в другую папку, в C:\Server\bin\mysql-8.0, в которой создает папку data, т.к. получается, что файлы, за исключением ibtmp1 и MiAi-PC.pid (они за 3 раза переустановки появлялись 1 раз и потом пропадали, не знаю почему, при том, что я пробывал устанавливать с вашим примечанием о возможных ошибках), находятся в C:\Server\bin\mysql-8.0\data. Потом, после команды
C:\Server\bin\mysql-8.0\bin\mysqld --install,
cmd пишет
:"The service already exists!
The current server installed: C:\Server\bin\mysql-8.0\bin\mysqld MySQL".
А ошибка, о которой выше написал Андрей, появляется, если после первой инциализации C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root запустить её ещё раз
доброе время суток.
я в первые ставлю Apache,PHP,MySQL,phpMyAdmin.
все работает отлично но в phpMyAdmin хочу создать нового пользователя с паролем и выдает такую ошибку
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_' на строке 1
как ее исправить? MAX_UPDATES_ я так понимаю что в этой переменной проблема. или в чем то еще проблема кроется
А как вы это делаете? Через графический интерфейс или командой? Если командой, то какой именно?
Вообще, конечно, пользователь создаётся элементарной командой:
Если делаете командой (SQL запросом, точнее), то дополнительную информацию (как дать пользователю права управления базой данных), смотрите здесь.
Если делаете через графический интерфейс, то, на мой взгляд, там вообще трудно ошибиться. В общем, пишите подробнее, что именно делаете и на каком этапе возникает ошибка. Чем понятнее объяснена проблема (команды, скриншоты), тем больше шансов, что найдётся решение.
Алексей, спасибо Вам большое! Лучший материал по данной теме!
Здравствуйте . Появилась проблема . Всё делал по инструкции , но когда преходишь в http://localhost/phpmyadmin/ и не можешь создать базу данных , пишет "Нет привилегий" . Что делать ?
Добрый день! У меня не запускается команда net start MySQL. Уже все пробовала и из статьи и из комментов ( и строку добавляла в файл my.ini) и в папке файла удаляла - ничего не помогаетю Может быть подскажете, что делать? прикрепляю файлы
Какая-то программа прослушивает тот же порт (порт 3306) на котором пытается запуститься MySQL. Две программы не могут одновременно использовать один и тот же порт - в этом проблема.
Чтобы узнать, что это за программа, выполните команду:
Доброго времени суток, вроде все получилось и на соледнем моменте такой момент, все на скринах
Видимо, делали не совсем по инструкции. При настройке пропустили строку default_authentication_plugin=mysql_native_password.
Alexey, огромное Вам спасибо! Первый раз появилась необходимость установки web-сервера, до этого было потрачено 3 дня впустую, благодаря другим рекомендациям, как хорошо, что нашла Вашу статью - всего 1 час и все работает. Это дорогого стоит!!!
Хорошее руководство - особенно полезно когда mysql не на диск С: надо развернуть. НО PhpMyAdmin никак не взлетал, пока в php.ini не раскомментировал session.save_path = "путь к директории" - пропишите это где-то в настройках, иначе будет ошибка:
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory (2)
session_start(): Failed to read session data: files (path: )
Алексей, спасибо Вам за такой труд и за то, что не бросаете этот проект!
Два года назад устанавливал впервые себе сервер на домашний компьютер. Благодаря Вашему ресурсу все прошло хорошо. Сайт поставил себе в закладки.
Сейчас, после "гибели" старого компа пришлось заново все ставить на новый комп. Вернулся к Вам и опять все, как по маслу.
Особо порадовало, что ресурс постоянно изменяется и дополняется, живет активной жизнью!
Огромнейшая благодарность!!!
Удачи Вам в работе и жизни!
Спасибо за добрые слова!
Всё перепробовал, но:
Расширение mysqli не найдено. Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.
Приветствую! Похожая ошибка была у девушки выше в комментариях — она не могла переименовать php.ini-development в php.ini. У вас тоже что-то похожее. Либо ещё в чём-то отступили от инструкциии.
Была такая же проблемма с ошибкой phpmyadmin. Я заметил ошибку у автора статьи, в частности в 5 пункте, где говориться "Копируем в этот файл: <?php phpinfo ()" в конце должны быть знак вопроса и закрывающий тэг и выглядеть это должно так- <?php phpinfo () ?>. Только после этого у меняполучилось запустить phpmyadmin
Не пишите бред.
1. Файл i.php не имеет отношение ни к чему, кроме как к проверке работоспособности PHP
2. Закрывающий тэг в PHP уже давно необязателен. Кроме тех случаев, если нужно после PHP кода разместить HTML код.
Спасибо за подробную инструкцию.
Да прибудет с вами Сила для поддержания сайта.
Алексей, большое спасибо за Инструкцию!
Подскажите, пожалуйста, почему при инициализации 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) следующая информация:
2019-01-04T10:01:56.830374Z 0 [System] [MY-013169] [Server] C:\Server\bin\mysql-8.0\bin\mysqld.exe (mysqld 8.0.13) initializing of server in progress as process 8860
2019-01-04T10:02:02.311887Z 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2019-01-04T10:02:05.511185Z 0 [System] [MY-013170] [Server] C:\Server\bin\mysql-8.0\bin\mysqld.exe (mysqld 8.0.13) initializing of server has completed
Алексей, помогите, пожалуйста, разобраться. Выше писали о подобной ситуации, но ответа в комментариях так и не последовало.
Папка C:\Server\data\DB\data\ прописана в файле my.ini.
Получается причина ошибки только одна: вы или не создали файл my.ini, или создали его неправильно, или создали его не в том месте, или не записали туда директиву с C:\Server\data\DB\data\ - то есть что-то такое.
Алексей, спасибо!
Разобрался. Причина была в том, что я создавал файл my.ini.txt вместо my.ini. Не обратил внимания на отображение расширений в Проводники. Ошибка - глупая, но, думаю, скоратит многим новоначальным время, если ее указать.
Дмитрий, спасибо, что нашли время и рассказали о решении. Я как раз подготавливаю большой сборник ошибок по веб-серверу, помещу туда и ваш пример.
Здравствуйте, во время установки mysql, после C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root, выходит вот такая штука.
Заглушка sendmail не работает!
Ошибок никаких нет!
Отправка почты происходит, но ее нигде нет!
Делал все точно как описано! Соот. пути свои!
Здравствуйте, уважаемый Алексей. Внимательно все проверял несколько раз, когда делал по Вашей инструкции, но на 3 пункте выходит ошибка. На Снимке все видно. Помогите, пожалуйста
Приветствую! Какая-то программа уже прослушивает 80й порт. Чтобы узнать, что за программа, смотрите здесь начиная со слов
Спасибо, но беда в том, что у меня прослушивает 80й порт ВСЕ.
К скринам: И так далее…
Не до конца скопировали команду - обрезали хвостик | findstr %m. Сосредоточьтесь и попробуйте ещё раз…
Может быть так будет проще:
for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m
Скопировал то, что Вы написали в комментарии, ничего не получилось
Надо же… Никогда такого не видел. Чтобы вывести список всех прослушиваемых портов и их программ, выполните эту команду и поищите, какая программа прослушивает 80й порт:
На скриншоте отмечена строка, которую нужно искать: 0.0.0.0:80
Все интереснее и интереснее… Вас хоть кто-нибудь так озадачивал раньше по данной теме?
Владимир доброе время, вам нужно открыть свой путь c:\Server\bin\Apache24\bin в открытой папке жазмите Shift + правая кнопка мыжи и выброть выподающем меню (Открыть окно PowerShell здесь) и выполняйте команду
httpd.exe -k
install
Я погуглил, суть в том, что 80й порт прослушивает какой-то системный процесс, определить его не так просто. В качестве вариантов могут быть:
Перейдите в Administrative Tools (Администрирование) > Services (Службы) и посмотрите, какая из приведённых служб там присутствует и запущена. Если она вам не нужна, остановите её насовсем.
Подсказку может дать команда:
Она попытается подключиться к службе, которая прослушивает 80й порт — там могут быть полезные сообщения.
Эта же команда, но может вывести больше сведений:
Можно просто попробовать открыть в веб-браузере http://localhost
Можете попробовать несколько раз выполнить команду:
Возможно, выводимые сообщения натолкнут на мысль, какая именно служба прослушивает порт.
Чуть не забыл главное, что хотел сказать: если не найдёте службу, которая занимает 80й порт, то можно настроить Apache работать на любом другом порту. Для этого в файле httpd.conf найдите директиву:
И вместо 80 напишите что-нибудь, что точно свободно, например, 4080:
В этом случае для доступа к локальным сайтам нужно будет после адреса через двоеточие дописывать номер порта. Например, http://localhost:4080
Благодарю, все отлично получилось, спасибо. Сперва был баг, когда я поменял на "Listen 4996", а после адреса надо было дописывать 4080, но потом исчезло, благодарю еще раз. И, если вы знаете, я бы хотел спросить об еще одной проблеме, связанной с этой темой. Вы когда-нибудь слышали о сервисе Owncloud?
А проблемный сервис так и не нашли?
ownCloud я устанавливал примерно 3 года назад и писал про это статью, но там была другая ситуация: Linux + хостинг VPS (виртуальный частный сервер).
Проблемный сервис не нашел, потому что было лень :). Про Owncloud - я создал сервер, все получилось, по инструкции https://habr.com/ru/post/175645/ распаковал архив с программой в htdocs и прописал в программу ip созданного сервера, но он мне вывел ошибку, и я не знаю, что с ней делать. Помогите, пожалуйста
Начните с того, что посмотрите, какая именно ошибка возникла. Это можно сделать в файле C:\Server\bin\Apache24\logs\error.log
Если в этом файле накопилось уже много сообщений, то:
1) остановите сервер Apache
2) удалите всё содержимое в C:\Server\bin\Apache24\logs\error.log
3) вновь запустите сервер Apache
4) один раз попробуйте выполнить проблемную операцию (например, подключение к ownCloud)
5) загляните в файл C:\Server\bin\Apache24\logs\error.log и сохраните куда-нибудь его содержимое
Там будет содержаться конкретная ошибка, которая вызвала вашу проблему.
Я попробовал установить ownCloud, чтобы написать инструкцию по установке ownCloud. Смотрите ответ в статье «Как установить ownCloud сервер в Windows».
Благодарю за помощь, Алексей, буду искать такого человека
А Вы мне не подскажите, где такого человека искать?
доброе время суток Alexey
подскажите как устоновить perl и как правильно его настроить
установлин Apache 2.4.38 Win64, PHP 7.3
заранее спасибо
Здравствуйте.
У меня 32 разрядная система, поэтому я немогу установить zip-архив, его для 32 разрядной системы нет. Поэтому мне пришлось скачать установщик. В установщике я выбрал установить только сервер (Server only). Нажимая далее, установщик пишет следующее: mysql installer did not find packages in the current bundle suitable for installation. Что делать?
Вместо MySQL я рекомендую MariaDB. Соответствующая статья здесь «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».
Пришлось установить MySQL 5.7.Там был zip-архив
Может кто знает…
в браузере вместо "Index of/ " появляется "Connection refused: localhost:80"
Что не так?
Суть сообщения в том, что в соединение отказано. При установке Apache всё прошло нормально, ошибок не было? Вы делали по этой инструкции?
Чтобы убедиться, что Apache работает, откройте файл C:\Server\bin\Apache24\bin\ApacheMonitor.exe и посмотрите, какой статус у службы?
Не заблокирован ли Apache в правилах вашего файервола?
Не создавали ли вы файл .htaccess с ограничением доступа?
Откройте файл c:\Server\bin\Apache24\conf\httpd.conf и найдите там директиву Listen, что именно при ней написано?
Вот
Сообщение, которое у вас на скриншоте, говорит о том, что вы пытаетесь запустить Apache Monitor второй раз, хотя он запущен.
Apache Monitor он запускается свёрнутым, чтобы его открыть нужно развернуть иконки рядом с часами, чтобы это сделать нажмите эту стрелочку, которая выделена на скриншоте:
Разверните Apache Monitor и посмотрите, там служба отмечена зелёным или красным.
Вот
Вроде делала так как у вас написано
Что-то явно пошло не так. Когда первый раз устанавливала Apache, все было нормально, поступил запрос от файервола в отношение Apache, нажала разрешить, дальше у меня появилась ошибка, когда переходила на сайт http://localhost/ , искала ответы в нэте, в итоге я все сломала, и теперь у меня даже ошибка не выходит, когда перехожу на сайт http://localhost/ , пустой лист)
Проблемы на скриншоте:
Я бы вам порекомендовал удалить сервер, как написано здесь: https://hackware.ru/?p=21#18
А затем просто всё внимательно установить заново.
Спасибо за инструкцию, все получилось на Windows 10.
Но возникла проблема со скриптами (PHP).
Стали сыпаться странные ошибки. например include - failed to open stream: No such file or directory
Хотя файл точно есть. Более того ранее пользовалься Denver-м и др. все работало нормально.
Теперь ломать голову, что не так. Также др. мелкие ошибки вылезают.
Добавление:
include работает. Это глюки от нового синтаксиса PHP. То, что в старом работало, уже нет.
Например раньше PHP файл начинался с <?, и в денвере это работает, а также некоторых других серверах PHP.
А здесь уже обязательно <?php
Нет, необязательно — зависит от настроек PHP. Откройте файл php.ini, найдите там строку:
и замените на
Перезапустите веб-сервер.
Эта директива сделает так, что PHP будет распознавать код не только в <?php и ?>, но и между тегами <? и ?>. Рекомендуется отключать поддержку коротких тэгов, поскольку если она включена, то могут возникнуть проблемы при генерации XML документов. Тем не менее поддержка коротких тэгов оставлена для обратной совместимости — то есть как раз ваш случай.
Вроде всё делал ок,но что-то пошло не так
Ошибка:
Судя по скриншоту, вы удалили базы данных, которые там были по умолчанию. Правильно?
К сожалению, без этих баз работать не будет. Дело в том, что MySQL в своей работе использует информацию. И эту информацию она хранит в базах данных, которые присутствуют по умолчанию сразу после установки.
Пример информации из базы данных:
В общем, если коротко, пока всё не вернёте как было, работать не будет. В этой ситуации проще всего удалить MySQL и установить заново. Как всё это сделать (в том числе удаление) — всё здесь есть.
В следующий раз лучше посоветоваться в комментариях, прежде чем что-то удалять
нет,ничего не удалял.переустановил MySQL,не помогло.помогло mysql_upgrade )
Это произошло при первом запуске пхп админки,так что я ничего не удалял.кстати я сейчас переустановил MySQL,проблема всё та же,та же ошибка
Добрый день!
Не пойму принцип настройки httpd-vhosts.conf.
Если делаю так:
А в hosts прописываю:
То внося в адресную строку: «мой_сайт» в Ейдже и Хроме не работает. В Эксплоере и Мозиле работает.
Если прописываю по-другому:
И соответственн в hosts прописываю:
То всё работает и во всех браузерах.
Приветствую! Думаю дело не в том как работают виртуальные хосты, а в том, как работают веб-браузеры.
В некоторых браузерах теперь ведь адресная строка совмещена с поисковой строкой. И браузер сам решает, отправлять введённые данные в поиск или попытаться открыть как сайт. Видимо, в первом случае ваш запрос воспринимается как поисковый. А во втором — как адрес сайта.
Подобную проблему обсуждали здесь, посмотрите тот комментарий.
Если в каких-то браузерах работает а в других не - ставьте перед адресом обязательно
тогда будет срабатывать
Похоже разобрался в проблеме. Во всяком случае выглядит логично и поигрался для проверки. То, что было по ссылке тоже посмотрел и там в общем то, про это же, но только неочевидным образом. Суть как я понимаю в следующем. Когда назначается адрес в одно слово, браузер совершенно законно рассматривает это как обращение к домену первого уровня. И вот тут-то и начинается шизофрения. Одни браузеры могут обработать индексный файл в домене первого уровня, другие нет. Однако, если задать localhost на папку, то во всех браузерах корректно открывается индекс оф, с каталогом папок внутри. Щёлкаешь по папке внутри как по ссылке, и она открывается. Что и сделал предыдущий товарищ, столкнувшийся с данной проблемой. Мне же кажется, что просто надо добавить домен второго уровня, например, мой_сайт.localhost и всё начинает работать. Необязательно именно localhost, но минимум 2 знака. Поскольку, например, Микрософт Эйдж открывает сайт и с одним знаком в качестве домена первого уровня, а хром уже нет, ему требуется минимум 2 знака. Что наверно логично, поскольку, не знаю, доменов первого уровня в один знак, наверное, не бывает. Кроме того, ну может это уже субъективно, при домене первого уровня – localhost, сайты открываются мгновенно. При произвольном домене, браузер заметно подтормаживает прежде, чем открыть сайт. Кэш чистил в обоих случаях, но это уже явно субъективное впечатление.
Что-то у меня проблема с кодировкой. Если utf-8, то нормально. А 1251 странно глючит.
Все вроде нормально. Упростил код до безобразия
Если файлу дать расширение html то в норме, а рсширение php - не работает, кракозябры идут, сам автоматом в utf перебрасывает.
не помогает
Не нужно забывать о таком варианте, когда ваши действия по установке кодировки работают, но крякозяблы появляются от того, что сам файл в неправильной кодировке.
Установка кодировки в коде файла или в файле .htaccess влияет только на то, как браузер будет трактовать этот файл, но не конвертирует его в другую кодировку.
То есть, допустим, ваш файл реально сохранён в кодировке utf-8. Вы указываете в качестве кодировки windows-1251. И это работает: браузер трактует ваш файл как windows-1251, но показывает крякозяблы, поскольку на самом-то деле это utf-8.
Поэтому начните с того, что проверьте кодировку файла и при необходимости пересохраните в нужной кодировке.
Если кодировка правильная, то для PHP файла безотказно работает
Эта функция отправляет нужную кодировку в заголовке. Она должна идти до любого вывода текста на экран. Кодировку поменяйте на свою.
У меня есть целая статья про кодировку «Решение проблем неправильной кодировкой веб-страницы». Там в конце показано, как проверить HTTP заголовки с помощью cURL, которые отправляются сервером.
Программа curl есть и в Windows, поэтому если у вас прям ничего не получится, то напишите, что выводит curl.
Если кодировка правильная, то для PHP файла безотказно работает
1
header(
'Content-Type: text/html; charset=utf-8'
);
Спасибо! Это помогло!
А то убил два дня, перечитав кучу советов. (по моему и вашу ссылку тоже 🙂
Файлы конечно в нужной кодировке. проблема возникла именно на локальном компьютере, после установки связки Apache-PHP-MySQL . На хостинге все работает по прежнему нормально и на денвере все работало без проблем, а вот после новых PHP и др. на локале начались эти проблемы.
Проблема была еще и в том, что старая часть сайта - это windows-1251, а новая - UTF-8 и принудтельно прописав кодировку в PHP.INI не получалось убрать проблему полностью.
Возможно где-то в настройках Apache что-то еще есть? Ведь на денвере и др. локалках (EnterpriseDBApachePHP) и у провайдера все работает и без header. Но сам не смог побороть.
Алексей, большое спасибо за Ваш труд и содержательную инструкцию!
Потратил минут сорок, всё встало на "ура" с первого раза.
Удачи и всех благ!
Доброго временир суток. Подскажите пожалуйста, что это значит:Parse error: syntax error, unexpected 'new' (T_NEW) in C:\Server\data\htdocs\includes\joomla.php on line 840. Нигде не мог найти инфу. Пытаюсь перенести сайт на другую машинку.
Алексей, хочу сказать тоже спасибо за Ваш труд и отличную инструкцию! И хочу спросить,выше комментарий,вчера настроил всё,всё работает, но вот перенёс сайт и выдало ошибку:Parse error: syntax error, unexpected 'new' (T_NEW) in C:\Server\data\htdocs\includes\joomla.php on line 840. Возможно это связано с тем,что на старой машине файлы сайта разбросаны на диске С:\, а не как по инструкции красиво в папке Server? Можно ли как то поправить? Не судите строго, первый раз делаю.
Дело в версии PHP. Обновите движок вашего сайта. Если обновлений нет, то нужно править исходный код, подробности смотрите в статье «Решение проблемы на PHP 7: Parse error: syntax error, unexpected T_NEW».
Спасибо,Алексей! Буду пробовать.
Доброго времени суток! Подскажите пожалуйста, как правильно(корректно) обновить движок сайта. Сайт очень старый на движке Joomla_1.0.15_RE-Stable-Full_Package,решили перенести на другой хост. Все компоненты web-сервера обновлены.Скачали Joomla 3.9.5.
Алексей, спасибо за отличное описание. Нельзя ли узнать мнение эксперта по такому затыку.
У меня стоит Apache под Windows10. Роутер имеет статический внешний IP, под ним - веб-сервер с IP 192.168.1.70 После замены роутера при обращении к файлам веб-сервера через Localhost или по адресу 192.168.1.70 файлы читаются. С внешних компьютеров файлы веб-сервера тоже читаются.
Но когда я обращаюсь с компьютера, где стоит веб-сервер, по внешнему IP своего же роутера возникает time-out. Чувствую, что ошибка простая, но понять не могу. Ping своего внешнего статического IP тоже не проходит. У меня сайт с большим числом пользователей - http://www.retromap.ru - и проблема раздражает
Приветствую! Убрал на всякий случай из вашего коменнтария ваш внешний IP, крайне настоятельно рекомендую прочитать «Как защитить веб-сервер Apache от взлома в Windows» - как минимум, установить пароль на MySQL, разрешить доступ к MySQL только из локального компьютера и убрать из доступа из вне phpMyAdmin. Иначе при белом IP существует угроза взлома для всего компьютера.
Попробовал открыть ваш IP — у меня всё открылось, там показывается phpinfo
По описанию кажется, что не настроена проброска портов, очень подробно зачем это нужно описал в статье «Apache Forwarding — проброска портов веб-сервера». Как настроить там тоже написано.
Алексей, большое спасибо, вы очень-очень толково пишите и объясняете. Но мне кажется, вы не уловили мою проблему.
Итак, под роутером со статическим IP находится компьютерр с веб-сервером. Перенаправление портов, насколько я понимаю, - это обеспечение доступа из внешней сети к веб-серверу в локальной сети. Из внешней сети мой веб-сервер доступен, и с этоим проблем нет. Но когда я пытаюсь обратиться с компьютера, на котором стоит это веб-сервер, по статичечкому адресу своего роутера - эти запросы не выполняются - Timed Out. Другой симптом: с компьютера под роутером не проходит Piing статического адреса своего роутера.
Может можно с Вами пообщаться по Скайпу? Мой адрес в Скайпе - 6 символов перед @ моего e-mail. У моего сайта очень много посетителей, проблема просто достала.
Доброго времени суток! Алексей,подскажите пожалуйста, как правильно(корректно) обновить движок сайта до максимально свежего. Сайт очень старый на движке Joomla_1.0.15_RE-Stable-Full_Package,решили перенести на другой хост. Все компоненты web-сервера обновлены и ОС соответственн.Я где то читал,что не так всё просто. Сначала надо проапгрэйдить до версии 1.5, а уже потом можно пробовать и до последней версии? Подскажите вкратце или может ссылку . Спасибо!
Здравствуйте Alexey . Я почитал все комменты, но таки не нашел свою проблему. У меня http://localhost/phpmyadmin/ открывается просто пустая и белая страница, в исходом коде тоже ничего. Просто вообще не подгружается страница phpmyadmin. А вот http://localhost работает. и http://localhost/i.php тоже работает. Я выполнял все четко и внимательно как Вы писали. в чем может быть проблема.?
Здравствуйте! Сделайте попытку открыть phpMyAdmin ещё раз и напишите здесь в комментарии, какие у вас последние ошибки в файле C:\Server\bin\Apache24\logs\error.log
Ещё заодно напишите, какие ошибки в C:\Server\data\DB\data\*.err (конкретное имя файла зависит от имени компьютера).
Чтоб не засорять коменты я выложил их файлы на другом сервере.
вот ссылка на Apache error C:\Server\bin\Apache24\logs\error.log http://185.44.230.7/logs/error.log
и вот ссылка на C:\Server\data\DB\data\*.err