Най-често срещаните грешки и въпроси при конфигуриране и инсталиране на Apache, PHP, MySQL, phpMyAdmin

Codeby web-security - нов курс от Codeby Security School

Представяме на вашето внимание нов курс от екипа Кодът - "Тестване на проникване на уеб приложения от нулата". Обща теория, Подготовка на работната среда, Пасивно размиване и пръстови отпечатъци, Активно размиване, Уязвимости, След експлоатация, Инструменти, Социално инженерство и др. Повече информация .

Фатална грешка: извикване на недефинирана функция mb_detect_encoding () в C: serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc на ред 177

Тази грешка се дължи на факта, че разширението mbstring не е свързано. Линията, отговорна за това разширение в php.ini, е

Ясно е, че за да коригирате грешката, трябва да свържете разширението и да рестартирате сървъра (ако не искате да инсталирате всички разширения, както е описано в инструкциите, тогава преди да изберете това, което наистина имате нужда, е по-добре да проучите описанието на всеки от тях).

Независимо от това, теоретично грешката може да бъде причинена от факта, че поради неправилна конфигурация на Apache, файлът php.ini изобщо не е „вдигнат“ и PHP работи на настройки по подразбиране, т.е. без никакви разширения. Но ако случаят беше такъв, тогава phpMyAdmin, на първо място, се оплака, че друга функция не е дефинирана (поради липсата на разширение, отговорно за комуникация с MySQL).

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

Apache сървърът работи без PHP

Отговор на потребителя: Рестартирайте и опреснете браузъра всичко, което е работило

Конфигурационната директория, използвана от конфигурационния скрипт, все още е в инсталационната директория на phpMyAdmin. Не забравяйте да го премахнете веднага след конфигуриране на phpMyAdmin. В противен случай сигурността на вашия сървър може да бъде нарушена чрез безплатен достъп за изтегляне на конфигурационния файл.

"Изтрийте конфигурационната директория!" - това е от статията, подчертана в червено там.

Инсталирах си mysql според статията ви и получих грешка 1067. Какво да направя?

Всички грешки възникват само ако поне донякъде се отклоняват от ръководството. Пропуснахте това:

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

Когато отидете на страницата http: // localhost/phpmyadmin/setup /

Тази грешка обхожда, освен че няма нищо:

Фатална грешка: Извикване на недефинирана функция __ () в C: Serverdatahtdocsphpmyadminlibrariescore.lib.php на ред 229

очевидно проблемът е в phpMyAdmin. Дневник на последните промени:

Ето описание на грешката: http://sourceforge.net/p/phpmyadmin/bugs/4557/

И тук е дневникът на промените, от който копирах https://github.com/phpmyadmin/phpmyadmin/commit/e28912d49e50071cba9632047ed3704f57d4c652

Опитайте да актуализирате до най-новия phpMyAdmin 4.2.10.1.

Е, ако вече имате най-новата версия или преходът към 4.2.10.1 не е помогнал, а напротив, изтеглете предишната 4.2.9. Това е, поправихме грешката, просто актуализирайте до най-новата версия.

Получавам следното съобщение при стартиране на httpd:

AH00451: няма налични гнезда за слушане, изключване

AH00015: Не може да се отворят дневници

Използвам Windows 8.1 като OS

Тази грешка е причинена от факта, че някаква програма слуша на порт 80, докато Apache се опитва да използва същия порт. Но две програми не могат да направят това едновременно - оттук и грешката.

За да разберете коя програма заема този порт:

1) натиснете клавишната комбинация WIN + x

2) от списъка, който се отваря, изберете "Команден ред (администратор)"

3) копирайте там:

4) Намерете реда, съдържащ "0.0.0.0:80", в този ред се интересуваме от PID, например, в моя случай е 2168

Сега трябва да съпоставим идентификатора на процеса с определена програма. За да прикачите идентификатор на процес към програма, изпълнете следните стъпки:

5) Натиснете клавишната комбинация WIN + x (или CTRL + ALT + DELETE) и щракнете върху "Task Manager".

6) Отидете в раздела "Процеси".

7) Ако няма колона PID, щракнете върху „Преглед“, „Избор на колони“ и поставете отметка в квадратчето „PID“ (в руската версия - „Process ID“).

8) Щракнете върху заглавието на колоната, наречена "PID", за да сортирате процеса по PID. Ще можете лесно да намерите идентификатора на процеса и той съответства на програмата, която се появява в диспечера на задачите.

След като намерите програмата, която заема този порт, в зависимост от необходимостта от тази програма и от възможността да я конфигурирате, можете:

а) деинсталирайте тази програма;

б) конфигурирайте го да използва различен порт;

в) конфигурирайте Apache да използва различен порт

пс всъщност може да има и други причини за тази грешка (освен зает порт) - например неправилна конфигурация на сървъра Apache или забрана в политиките за сигурност на OS да се използва този порт. Но ако не сте направили промени „самостоятелно“ в конфигурацията на сървъра и конфигурацията на Windows, тогава почти сигурно е, че портът е зает с друга програма.

Отговор на потребителя с грешка: Проблемът е решен - портът е зает от Skype (той има такава значка в настройките на връзката - използвайте портове 80 и 443 като алтернативи, след като деактивирах тази опция, всичко работеше).

Сървърът се забавя, спира да реагира, въпреки че няма причина за това - не е претоварен.

Грешка AH00341: winnt_accept: Неуспешен асинхронен AcceptEx:

[5 юни 07: 24: 55.747090 2014] [mpm_winnt: известие] [pid 1784: tid 444] AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 конфигуриран - възобновяване на нормалните операции

[Четвъртък, 05 юни 07: 24: 55.747090 2014] [mpm_winnt: известие] [pid 1784: tid 444] AH00456: Apache Lounge VC11 Server, построен: 16 март 2014 12:42:59
[5 юни 07: 24: 55.747090 2014] [ядро: известие] [pid 1784: tid 444] AH00094: Команден ред: 'c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -d C:/Server/кош/Apache 24 '
[5 юни 07: 24: 55.748090 2014] [mpm_winnt: известие] [pid 1784: tid 444] AH00418: Родител: Създаден процес на дете 4952
[Четвъртък, 05 юни 07: 24: 55.957978 2014 г.] [mpm_winnt: известие] [pid 4952: tid 388] AH00354: дете: стартиране на 64 работни нишки.
[05 юни 07: 26: 16.695036 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежата вече не е налице.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.
[05 юни 07: 26: 16.695036 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежата вече не е налице.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.
[Четвъртък, 05 юни 07: 26: 48.250710 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежата вече не е налице.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.
[Четвъртък, 05 юни 07: 26: 48.250710 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежата вече не е налице.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.
[5 юни 07: 29: 27.137784 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежа вече не е налично.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.
[5 юни 07: 29: 27.137784 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Посоченото име на мрежа вече не е налично.: AH00341: winnt_accept: Неуспешен асинхронен AcceptEx.

Добавете следните редове към файла httpd.conf:

Win32DisableAcceptEx
EnableSendfile изключен
EnableMMAP изключен

AcceptFilter http няма
AcceptFilter https няма
EnableSendfile изключен
EnableMMAP изключен

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

направи конзолата да не се затваря, така пише

AH00526: Синтаксична грешка на ред 241 от C: /Server/bin/Apache24/conf/httpd.conf:

DocumentRoot трябва да е директория

най-вероятната причина е, че не инсталирате на устройството C или сте променили пътищата, имената на папки или не сте създали папките, споменати в статията. Изводът е, че Apache не вижда директорията c:/Server/data/htdocs /

Оказа се, че: намерих решение на проблема с паркирането на директорията с данни, създадена в кошчето, наистина със свеж ум, мисля по-добре, иначе не можах да разбера нищо след работа))

Изправен е пред следния проблем - след разширяване на възможностите на phpmyadmin и опит за влизане като потребител на pma, изскача грешка: # 1045 Не може да се свърже с MySQL сървър. Като корен всичко е наред. Ако знаете какъв е проблемът, моля, кажете ми как да го отстраня ?! Бих искал да разгледам тези допълнителни функции на phpmyadmin)

Не е нужно да влизате в phpMyAdmin като потребител на pma. Когато сте конфигурирали всичко и сте влезли под root, тогава всичко вече работи. Просто в phpMyAdmin наистина се променят малко. За да се уверите, че добавката. функции работят, кликнете върху която и да е база данни и вижте дали имате дизайнер и проследяване в горното меню. Ако има, тогава всичко работи.

имаше странна грешка, причините за която не мога да разбера.

Трябва само да добавите файла php.ini с всякакви настройки към директорията към PHP, php-скриптовете спират да работят. Премахвам файла, рестартирам Apache - работи (разбира се, преди работа с бази данни например, тогава започва да иска разширения)

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

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

Фатална грешка: Извикване на недефинирана функция mb_detect_encoding () в C: Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc на ред 177.

С какво може да е свързано това и как да го поправя?

рестартиран - всичко работи)))

Отивам http: //localhost/phpmyadmin/index.php, влизам в основния дневник и получавам грешка - Не може да се свърже с MySQL сървър.

При инсталиране на Mysql, когато въвеждам mysql -u root в конзолата, се появява грешка ГРЕШКА 2003 г., не може да се свърже с mysql (10061), Ще добавя, че отворих порт 3306 в защитната стена

Това е точно същата ситуация като при предишната грешка: възниква, ако MySQL сървърът не е инсталиран или не работи. Погледнете отблизо инструкциите https://codeby.net/blogs/programmy-dlja-servera/ustanovka-i-nastrojka-servera-apache-php-mysql-phpmyadmin-na-windows-10

Възникна проблем: преди добавяне на редове

всичко работи както трябва. Но веднага щом ги поставя в края на файла httpd.conf. дава грешка "заявената операция е неуспешна". В дневници

Трябва да се инсталира Visual C ++ за разпространение за Visual Studio 2012.

Получих проблем при инсталирането на phpMyAdmin:

Ако е така, това е само грешка в phpMyAdmin 4.3.2. Билет за грешка: http://sourceforge.net/p/phpmyadmin/bugs/4653/

1) използвайте phpMyAdmin от клон 4.2,

2) изчакайте, докато го поправят.

Имам готов уебсайт, настройте всичко. Как да го направя видим от интернет?

Ето подробна инструкция: "Предоставяне на локалния сайт (на localhost) достъпен за други компютри".

Как да настроите поддомейни?

Paranoid - Курс от Codeby School School

Представяме на вашето внимание курс от екипа codeby - „Набор от мерки за защита на лични данни, анонимност в Интернет и не само“ Повече информация .

Подробна инструкция "Настройване на поддомейни на локален сървър (locahost ') и на хостинг".

Моля, кажете ми откъде взехте файла C: /Server/bin/PHP/php5apache2_4.dll

И тогава апахът ми се кълне в отсъствието му

Този файл от самото начало е в архива php-5.5.9-Win32-VC11-x64.zip, който изтеглям от официалния сайт.

Ако вашият архив не съдържа този файл, най-вероятно сте изтеглили или стара версия (5.4. *, 5.3. *), Или версия без безопасност на потока (NTS).

Ако файлът C: /Server/bin/PHP/php5apache2_4.dll присъства, но Apache дава грешка, тогава има проблем в конфигурацията на Apache.

Връзки към "правилния" PHP:

И какво, ако след инсталиране на MySQL 5.4.16 не се появи прозорецът за настройки "MySQL Server Instance Configuration Wizard"?

Какво да правя? Как да настроите?

Така че изтеглихте не инсталатора, а zip архива. Лично за мен ръчната инсталация на MySQL изглежда по-проста и по-гъвкава. Как да го направя е описано тук.

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

За да зададете нова парола за MySQL в командния ред:

Как да регистрирам променливи на средата за MySQL в Windows?

Отвори "Моя компютър"(Наричам го" Този компютър "- не е важното). Там изберете "Свойства на системата". След това изберете „Допълнителни параметри на системата". В прозореца, който се отваря, наОсвен това»Щракнете«Променливи на околната среда". Има два прозореца, вижте този, наречен "Системни променливи". Намерете променливата "Път". Щракнете два пъти върху него. В "Променлива стойност„Много, много неща вече са написани. Добавете там (например, вмъкнете в самото начало) реда

C: Serverbinmysql-5.6bin;

Щракнете ОК навсякъде, за да затворите всички прозорци. Веднага, дори без рестартиране, можете да работите в командния ред и да извикате MySQL като mysql - не е нужно да пишете пълния път към двоичния файл.