Помилка WAMP: заборонено Ви не маєте дозволу на доступ / phpmyadmin / на цьому сервері


275

Я новачок у WAMP, і я щойно встановив його сьогодні.

Установка пройшла добре, і localhost, здається, працює, але коли я намагаюся отримати доступ до phpMyAdmin, я отримую цю помилку:

Заборонено
Ви не маєте дозволу на доступ / phpmyadmin / на цьому сервері.

Чому я отримую цю помилку доступу дозволу за допомогою phpMyAdmin?

Я використовую Windows 7.


57
Будьте обережні з прийнятою відповіддю, phpmyadmin WAMP налаштований так, щоб дозволити root без пароля за замовчуванням. Allow from allвідкриє базу даних для громадськості. Справжня проблема полягає в тому, що WAMP прив'язує адресу IPv6 у вашій версії Windows. Щоб виправити просто додати Allow from ::1в c:\wamp\alias\phpmyadmin.conf <Directory "c:/wamp/apps/phpmyadmin3.4.5/">.
Tiberiu-Ionuț Stan

2
Як не дивно, це те саме питання, подарувати чи брати, захищене тут як вікі спільноти
ruffin

Відповіді:


368

Змініть вміст файлу c:\wamp\alias\phpmyadmin.confна таке.

Примітка. Ви повинні встановити AllowДирективу, щоб вона дозволяла використовувати вашу локальну машину в цілях безпеки. Директива Allow from allє небезпечною і має обмежуватися вашою локальною машиною.

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
</Directory>

Тут моя WAMP-установка знаходиться в c:\wampпапці. Змініть його відповідно до своєї установки.

Раніше це було так:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

Сучасні версії Apache 2.2 і новіших версій шукатимуть петлю IPv6 замість петлі IPv4 (ваш localhost).

Справжня проблема полягає в тому, що wamp прив'язує до адреси IPv6. Виправлення: просто додайте Allow from ::1- Tiberiu-Ionuț Stan

<Directory "c:/wamp22/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from localhost 127.0.0.1 ::1
</Directory>

Це дозволить лише локальній машині отримувати доступ до локальних програм для Apache.

Перезавантажте сервер Apache після внесення цих змін.


1
Раніше це буде Заборонено від усіх Дозволити з 127.0.0.1 Також перезапустіть службу сервера apache після зміни
Akhil Thayyil

2
залежить від вашої версії apache. apache> 2.4.x, вам потрібна інша конфігурація. дивіться мою відповідь нижче
Кайл

Здається, причина, чому за замовчуванням було встановлено 127.0.0.1, полягає в тому, що це ipv4-адреса localhost. Чомусь, хоча ви перебуваєте у локальному хості, phpmyadmin не дозволяє вам ввійти. Тоді ви дозволяєте будь-якому користувачеві отримати доступ. Це не схоже на вразливість безпеки, якщо ви не розмістите свій веб-сайт в Інтернеті. Я, можливо, помиляюся - повний послушник. Насправді так, прочитайте решту теми. Не робіть вищезазначеного виправлення.
obesechicken13

3
Phpmyadmin WAMP налаштований так, щоб дозволити root без пароля. Allow from allвідкриє базу даних для громадськості.
Tiberiu-Ionuț Stan

34
Справжня проблема полягає в тому, що wamp прив'язує до адреси IPv6. Виправлення: просто додайтеAllow from ::1
Tiberiu-Ionuț Stan

137

Ви повинні просто перевірити, чи ваш WAMP- сервер в Інтернеті чи ні.

Щоб розмістити свій сервер WAMP в Інтернеті, виконайте ці кроки.

  1. Перейдіть на значок сповіщення сервера WAMP (на панелі завдань).
  2. Одне клацання по значку сервера WAMP.
  3. Виберіть в меню останню опцію, тобто Покладіть онлайн
  4. Ваш сервер перезапуститься автоматично (лише в останніх версіях). В іншому випадку вам доведеться перезапустити сервер вручну.

І ви ВЗАЄМО ...


4
"Тільки останні версії" швидко застаріють. Ви в світі ІТ, тому, будь ласка, вкажіть номер версії. Плюс це взагалі не працювало для мене. Завжди мати його в Інтернеті, запускаючи його як адміністратор. Гірше, що деякі домени працюють за допомогою віртуальних хостів, але не можуть навіть отримати доступ до localhost або 127.0.0.1, або з * / phpmyadmin: s Дуже дивно. Це на Win8 btw. Може мати щось
спільне з

1
Боже, я почуваюся дурним. Я витратив досить довгий час, возившись із "Потрібно всім" тощо. Дякую.
Джон Макколлум

Опція Put Online зараз недоступна. Щоб увімкнути це, клацніть правою кнопкою миші на значку Wamp> Налаштування Wamp> Перевірте пункт меню: Інтернет / офлайн, коли тепер клацніть лівою кнопкою миші на піктограмі, буде доступна опція "Put Online"
Oush

117

Якщо ви використовуєте WAMP з Apache 2.4.2 або новішою, вам потрібно використовувати Require allзамість Allowта видалити Order Deny,Allow:

<Directory "f:/Projects/myproject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted
</Directory>

* як зазначено в цій публікації в блозі


1
Заборонено Ви не маєте дозволу на доступ / phpmyadmin / на цьому сервері.
Хассан Z

ваша відповідь мала бути найкращою відповіддю! працював як шарм :)
Тохід

Це працювало для мене. Сервер WAMP 2.2; Apache 2.4.2; Windows 8.
Michael J

Дякую, це спрацювало для мене (на відміну від інших відповідей тут, включаючи прийняту)
Патрік Мур

У моєму WAMP було встановлено <Каталог />, і це працювало до тих пір, поки мені не потрібно було змінити папку в папку, що випадає. Чому було встановлено <Каталог />? Однак це рішення чудово працює.
Jens Törnell

41

Просто використовуйте 127.0.0.1 замість localhost (ніяких змін у конфігураційному файлі не потрібно).

Система:

  • Windows 7
  • wampserver2.2d-x64

Це працює:

http://127.0.0.1/phpmyadmin/

Це не вдається:

http://localhost/phpmyadmin/

3
Причина полягає в тому, що localhost вирішується як IPv6-адреса, тоді як конфігурація wamp за замовчуванням дозволяє лише адресу петлі IPv4.
Шербров

35

У мене просто була така ж проблема. Виявляється, моя установка Windows використовує IPv6 адресу ::1замість 127.0.0.1. Щоб вирішити це питання, я відкрив httpd.confта змінив наступний рядок:

Allow from 127.0.0.1

до:

Allow from 127.0.0.1 ::1

Тепер я можу отримати доступ до сервера через localhost. Що б ви не робили, не знімайте Deny from all fromрядок вище , інакше хтось у вашій мережі може отримати доступ до вашого веб-сервера (якщо ви, звичайно, цього не хочете).


Мені, до речі, довелося змінити всі псевдоніми. Щоб редагувати псевдоніми, перейдіть до: "[значок wamp] -> Apache-> каталоги псевдонімів -> [alias-url] -> редагувати псевдонім"
Micke

Я виконав ping localhostна своєму cmd терміналі і отримав Reply from ::1: time<1ms. Здається, моя машина Win7 вирішує localhost з IPv6 адресою. Ваше рішення зробило трюк. Я згоден, це, мабуть, має бути прийнятою відповіддю.
Кріс

Дивовижний !!!! У мене була така ж проблема на моєму Mac (MAMP), і тепер це працює! Ти врятував мені день, чувак!: D
drpelz

У httpd.confмене не працює, натомість, коли я роблю те саме, phpmyadmin.confце працює!
Аділь

1
Я думаю, що цю відповідь слід відредагувати, оскільки правильний файл для редагування є wamp/alias/phpmyadmin.conf, а неhttpd.conf
bg17aw

21

Якщо ви перебуваєте в ОС Windows 7 або 8, то Apache може бачити з'єднання, що надходять від ":: 1", що еквівалент IPv6 127.0.0.1.

Ви можете перевірити це, заглянувши в Журнал доступу Apache (доступний у меню WAMP)

::1 - - [20/Dec/2012:21:35:04 +0000] "GET /phpmyadmin/ HTTP/1.1" 403 213

:: 1 на початку - це адреса клієнтів. У кінці 403 - код відхиленого доступу.

Наведені вище відповіді видалять усі обмеження та відкриють phpmyadmin для всіх, але якщо ви все ще хочете обмежити phpmyadmin лише вашою машиною (як правило, хороша ідея), тоді під рядком ...

Allow from 127.0.0.1

..додайте наступне:

Allow from ::1

(редагувати: Додано пропозицію від Nukeface)


1
Дякую. Це має бути головний коментар. Ви пояснюєте проблему, вирішуєте її та не вводите масової вразливості безпеки на чийсь сервер.
obesechicken13

1
Я отримав рішення як окремий та додатковий рядок. Я використовую " Allow from 127.0.0.1наступний рядок Allow from ::1". Про всяк випадок, коли він перейде на IPv4 (бо скажіть, що
вимкнено


8

Я виявив, що використання localhost не буде працювати належним чином, щоб дозволити локальний доступ із сервера. Довелося використовувати 127.0.0.1.

У phpmyadmin.conf це не спрацювало:

Deny from all
Allow from localhost

це спрацювало:

Deny from all
Allow from 127.0.0.1

Я використовую WampServer версії 2.2


1
Це, мабуть, тому, що у вас немає правильно налаштованого файлу HOSTS, налаштуйте його правильно і ви зможете використовувати localhost
RiggsFolly


7

Я хотів запустити свій сервер в Інтернеті, а не під localhost / 127.0.0.1 і мав заборонене повідомлення. Я запускаю сервер WAMP 2.2 ( Apache 2.4.2 / PHP 5.4.3 / MySQL 5.5.24) на Windows 7 64 біт. Що для мене спрацювало наступне:

  1. Натисніть на значок запуску WAMP у меню
  2. Виберіть папку Apache
  3. Виберіть файл httpd.conf
  4. У розділі вкладки Каталог (розділ з текстом "# Інтернет -> Вимагати всі надані") у мене був варіант "Вимагати локальний", який я змінив на "Вимагати всіх наданих"
  5. Перезавантажте всі сервіси WAMP

Знову ж таки, це працювало для мене, і з цієї теми я розумію, що є багато випадків, коли ви можете отримати вищезгадане повідомлення про помилку, тому якщо моя не працює, спробуйте інші рішення.

Удачі.

(Я сподіваюся, що це допомагає комусь, як він мені допоміг. Я не знайшов жодного з рішень, що працювали для мене.)


Ви, сер, вирішили проблему, яку я провів цілі вихідні, намагаючись вирішити. Дякую!
Хоук

6

1.change D: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ httpd.conf біля рядка 279

Require local 

 into 

Require all granted

2.змініть так у D: \ wamp \ alias \ phpmyadmin.conf з існуючого

   <Directory "d:/wamp/apps/phpmyadmin4.1.14/">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride all
       Require all granted
       Order Deny,Allow
       Allow from all
   </Directory>

3. Клацніть Перезапустити всі сервіси в wamp.

4. Клацніть на Інтернеті .

5.Щоб натиснути, щоб перезапустити всі сервіси в wamp.

Сподіваюся, що це допомагає ..


4

Я вирішив цю проблему раніше. Це може статися з багатьох причин, тому ви можете скористатися деякими або всіма наступними кроками (відкриття згаданих файлів за допомогою будь-якого текстового редактора, наприклад, Блокнот ++ ).

Якщо встановити WAMP в C: \ wamp

1- Відкрийте файл C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ httpd.conf

Примітка : у вас може бути інша версія Apache, ніж Apache 2.2.22 , тому вам потрібно написати її замість неї.

Шукати: Каталог "C: / wamp / www /" . Ви знайдете щось подібне до цього:

<Directory "C:/wamp/www/">
   # maybe there is some comments here ...
    AllowOverride all
    Order Allow,Deny
    Allow from all
</Directory>

Будьте впевнені, що " Дозволити від усіх" існує, а не коментується.

2- Відкрити файл C: \ wamp \ alias \ phpmyadmin.conf .

Переконайтеся, що

<Directory "C:/wamp/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1  
</Directory>

Змінити Дозволити з 127.0.0.1 на Дозволити від усіх .

Ви можете видалити заперечення з усіх або прокоментувати його, додавши # на початку рядка, але ви повинні переконатися, що Allow from all - останній рядок коду безпосередньо перед</Directory> .

Примітка: у вас може бути інша версія, ніж phpMyAdmin 3.5.1.

Використовувати localhost / phpmyadmin замість 127.0.0.1/phpmyadmin :

Відкрити файл C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ extra \ httpd-vhosts.conf. Додайте наступне в кінці.

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
</VirtualHost>

Це працює. Дякую за стільки
ajey

3

Простим рішенням цього було б знайти файл phpmyadmin.conf, а потім знайти код нижче,

<Directory "c:/wamp/apps/phpmyadmin3.5.1/">

Options Indexes FollowSymLinks MultiViews

AllowOverride all

    Order Deny,Allow

Deny from all

Allow from 127.0.0.1

</Directory>

Змініть "Заборонити від усіх" на "Дозволити всім".

АБО

Перейдіть за посиланням нижче, щоб краще зрозуміти, як це зробити,

WAMP говорить Заборонено Ви не маєте дозволу на доступ / phpmyadmin / на цьому сервері Windows 7 або 8

Насолоджуйтесь :)


3

Якщо WampServer працює на комп’ютері, він встановлений, але не на іншому пристрої у вашій мережі (наприклад, з вашого телефону) із пунктом "Ви не маєте дозволу на доступ на цьому сервері". спробуйте наступне.

1. Відредагуйте httpd-vhosts.conf ( C:\wamp64\bin\apache\apache2.4.33\conf\extra\httpd-vhosts.conf), щоб він виглядав так:

<Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>

2. Відредагуйте phpmyadmin.conf ( C:\wamp64\alias\phpmyadmin.conf), щоб він виглядав так:

<Directory "d:/wamp64/apps/phpmyadmin4.7.9/">
    Options +Indexes +FollowSymLinks +MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
        Require all granted

3. Перезапустіть послуги WampServer


для мене застосувавши крок 1 (і 3) - все, що було потрібно. Це не вада, це дизайн. Для найкращих практик див. Stackoverflow.com/questions/36810669/…
HyperActive

2

Для Apache 2.4.2 рішення таке: у httpd.conf на лінії 265 змінити Потрібно нікому, щоб вимагати всіх наданих. Це все.



2

Навіть я зіткнувся з тим же питанням зі своїм доменом. Якщо я дав IP-адресу, він працював. Але з доменним іменем це не було.

Потім я перевірив мою запис DNS A . У домені було призначено кілька записів з різними IP-адресами. Я видалив усі неправильні значення, і це спрацювало. Ще один контрольний список, якщо хтось стикається з подібною проблемою.


2

Просто відредагуйте файл "c: \ wamp \ alias \ phpmyadmin.conf"

подобається це

<Directory "C:/wamp64/apps/phpmyadmin4.5.5.1/">
    Options Indexes FollowSymLinks MultiViews

    AllowOverride All
    Require all granted
</Directory>

C:/wamp64/apps/phpmyadmin4.5.5.1/не є файлом, і це питання вже мало прийняте рішення. Будь-ласка, намагайтеся уникати "нарікань" питань до початку, надаючи відповіді на них, якщо тільки питання вже не було позначено як вирішене, або ви не знайшли різко кращий альтернативний підхід до проблеми :)
Obsidian Age

Жодне з рішень не працювало для мене. Я відредагував правильний шлях до файлу, дякую за пораду.
Даніель

2

В WAMP 3.1.4 x64 я вирішив оновити файл C:\wamp64\alias\phpmyadmin.confз цього:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
  <ifDefine APACHE24>
        Require local
    </ifDefine>
    <ifDefine !APACHE24>
        Order Deny,Allow
    Deny from all
    Allow from localhost ::1 127.0.0.1
    </ifDefine>

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

до цього:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
    Require all granted

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

І нарешті перезапуск усіх сервісів WAMP.


1

У моєму випадку проблема полягала в тому, що у phpmyadmin.confфайлі неправильно вказана версія phpMyAdmin . Ви можете перевірити, що:

  1. Перейдіть на wamp / apps / phpmyadmin3.xx : зверніть увагу на ім'я файлу - яку версію ви зараз використовуєте?

  2. Відкрити файл wamp / alias / phpmyadmin.conf:

    Параметри індексів FollowSymLinks MultiViews ДозволитиПеремістити всі замовлення Заборонити, Дозволити від усіх

Перевірте, що перший рядок (каталог "c: /wamp/apps/phpmyadmin3.xx/") є ім'ям файлу точно таким же, як власне ім'я файлу.

Переконайтесь, що ім'я файлу каталогів абсолютно правильне.


0

З моїм налаштуванням було те, що WAMP прив'язував до адреси IPv6 (і кожен наступний раз, коли я перевстановлював WAMP).

Щоб виправити це, я зайшов c:\wamp\alias\phpmyadmin.confі додав рядокAllow from ::1


0

Причина, можливо, 127.0.0.1 не пов’язана з localhost. Перевірте свій файл "C: \ Windows \ System32 \ Drivers \ etc \ hosts". Він повинен мати такий рядок:

# дозвіл імені localhost обробляється в межах самого DNS.
127.0.0.1 localhost


0

Я спробував встановити свій пароль ... І ось так мене заблокували з localhost. Вони повинні це виправити ...

У будь-якому випадку, будьте обережні з випадковими порадами. Всі вони можуть чи не можуть працювати. Але деякі поради заблокують вас ще більше. Той, що працював на мене:

Введіть " http://127.0.0.1/phpmyadmin/" в адресний рядок.

Потім я виявив, що http://localhost/phpmyadmin/також працює.

Однак до цього я відчайдушно мав ...

Я видалив файли, видалив WAMP, видалив тимчасові файли cookie та знову встановив WAMP. Він все ще не приймає "localhost" (і я втомився після дня, намагаючись отримати доступ до WAMP), але 127.0.0.1 і localhost / phpmy ... працюють. Я радий переглядати сторінку назад. І почніть працювати знову.

Якщо ви читаєте цей потік дотепер, це означає, що ви, мабуть, у великій проблемі ... Windows 8, WAMP (wampserver 2.2). Цікаво, що потрібно для отримання доступу до localhost.


0

У моєму випадку на моєму ПК був встановлений сервер WAMP раніше, тому при встановленні нового деякі файли не перезаписуються, все, що вам потрібно зробити в цьому випадку - це перейти до C: \ і видалити всю папку WAMP, а потім встановити її знову .


0

Перевірте, чи ви ввійшли як root або користувач із правами. Просто переконайтесь, вийдіть із системи та знову увійдіть із використанням root / no-password.


0

Якщо значок WAMP не зелений, спробуйте: Клацніть лівою кнопкою миші Значок WAMP> MySQL> Послуги> Встановити сервіс


0

Тож усі ці відповіді в основному однакові. Вони стосуються лише однієї ідеї: вона повинна бути пов'язана з DNS . Ну, це не єдина частина цього виявляється. Після багатьох змін я ніде не читав черговий "той самий відповідь", сподіваючись, що це просто піде моїм шляхом.

Трюк для мене - коригування моїх версій Apache . Я думаю , що справа була, в тому , що один з файлів конфігурації отримати шлях від або що установки з - за IIS може бути переплутано /або /або/etc . І тому примушування зміни версії переглядає все, від вашого брандмауера до поганих конфігурацій.

Насправді, коли я перейшов на Apache 2.4.2, це стає забороненим. І як тільки я повертаюся до Apache 2.4.4, він повертається назад. Це виключає проблеми локальної мережі. Я просто хотів зазначити, що всі відповіді тут однакові і що мені вдалося вбити заборонене, змінивши версію Apache.


0

У мене була така ж проблема. Файл хостів пошкоджений! Там були:

localhos 127.0.0.1

localhost 127.0.0.1

localhos 127.0.0.1
localhos 127.0.0.1

Результат, який localhostне визначений.

Рішення: відредагуйте файл хостів із правами адміністратора та виправте лише один запис:

localhost 127.0.0.1

0

У новітній версії WAMP я якось мав "відхилити все" у своєму .htaccessфайлі. Якщо нічого іншого не працює, перевірте і там.


0

У моєму випадку, використовуючи Wampserver 3 64bit-версію 3.0.0, шлях до каталогу phpmyadmin4.5.2 у файлі phpmyadmin.conf був помилковим. Чомусь каталог програм знаходиться всередині каталогу скриптів. Тому я ввів правильні шляхи, як показано нижче. Тоді вам, ймовірно, потрібно перезапустити Apache та перезавантажити сторінку.

Я змінив:

Alias /phpmyadmin "C:/wamp64/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

До:

Alias /phpmyadmin "C:/wamp64/scripts/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/scripts/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.