Най-често срещаните грешки и въпроси при конфигуриране и инсталиране на 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 конфигуриран - възобновяване на нормалните операции