Доступ Xampp Запрещенный php

Я пользователь Windows. Я довольно давно использую xampp, но ни один из моих .php-файлов не работает сейчас! Я получаю это сообщение об ошибке:


Доступ запрещен!

У вас нет разрешения на доступ к запрашиваемому объекту. Он либо защищен от чтения, либо не читается сервером.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 403

localhost Apache / 2.4.4 (Win32) OpenSSL / 0.9.8y PHP / 5.4.16


Я могу увидеть список моих .php-файлов в localhost / Practice (Практика – это папка, в которой я сохранил мои файлы). Файл даже открывается, когда я нажимаю на него. Но когда я нажимаю любую кнопку «отправить» внутри любого из моих файлов, она дает эту ошибку. Пожалуйста помоги! Я обновил xampp с 1.8.1 до 1.8.2, но по-прежнему сохраняется та же проблема!

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

<Directory "E:/MyProjects/wordpress/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory> 

Так я исправил ту же проблему. Надеюсь, поможет.

если используется операционная система ubuntu, тогда проверьте chmod of / Practice folder change read write permission

Открытая клавиша быстрого доступа к нажатию клавиши Ctrl+Alt+T Goto

$ cd / opt / lampp / htdocs /

и изменить права на запись и запись в папку с помощью команды chmod

например, имя папки – практика и путь к папке / opt / lampp / htdocs / practice

Команда типа

 $ sudo chmod 777 -R Practice 

что такое chmod и 777 ? перейдите по этой ссылке http://linuxcommand.org/lts0070.php

Войдите в свою папку xampp/apache/conf/extra/httpd-xampp.conf

Отредактируйте последний абзац:

 #close XAMPP sites here . . . Deny from all . . 

в

 #close XAMPP sites here . . . Allow from all . . 

или просто посмотреть это видео: http://www.youtube.com/watch?v=ZUAKLUZAA .

У меня возникла эта проблема после перемещения папки htdocs вне папки xampp. Если вы это сделаете, вам нужно изменить корень документа в httpd.conf. См. https://stackoverflow.com/a/1414/3543329 .

У меня такая же проблема. Поэтому я вспомнил. Вчера я прокомментировал этот код в htttp-xampp.conf

 Alias /phpmyadmin "C:/xampp/phpMyAdmin/" <Directory "C:/xampp/phpMyAdmin"> # AllowOverride AuthConfig # Require local # ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory> 

SO Я могу получить доступ к моему локальному хосту, используя другую систему в той же сети (LAN / WIFI), поскольку локальный хост требует локального использования.

Поэтому я просто делаю это как

 Alias /phpmyadmin "C:/xampp/phpMyAdmin/" <Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig # Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory> 

и теперь его работа на моем локальном компьютере, а также localhost доступна с использованием других систем в одном и том же LAN / WIFI.

Вы что-то изменили на виртуальном хосте до того, как перестали работать?

Добавьте эту строку в xampp / apache / conf / extra / httpd-vhosts.conf

 <VirtualHost localhost:80> DocumentRoot "C:/xampp/htdocs" ServerAdmin localhost <Directory "C:/xampp/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> 

В моем случае я экспортировал экземпляр Drupal с сервера на localhost на XAMPP. Очевидно, он не отдавал должное владению файлами и каталогами, и Apache выбрасывал вышеуказанную ошибку.

Это собственность файлов и каталогов изначально:

введите описание изображения здесь

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

 sudo chmod 777 -R 

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

Сценарий приведен в этом блоге: https://www.drupal.org/node/244924

 #!/bin/bash # Help menu print_help() { cat <<-HELP This script is used to fix permissions of a Drupal installation you need to provide the following arguments: 1) Path to your Drupal installation. 2) Username of the user that you want to give files/directories ownership. 3) HTTPD group name (defaults to www-data for Apache). Usage: (sudo) bash ${0##*/} --drupal_path=PATH --drupal_user=USER --httpd_group=GROUP Example: (sudo) bash ${0##*/} --drupal_path=/usr/local/apache2/htdocs --drupal_user=john --httpd_group=www-data HELP exit 0 } if [ $(id -u) != 0 ]; then printf "**************************************\n" printf "* Error: You must run this with sudo or root*\n" printf "**************************************\n" print_help exit 1 fi drupal_path=${1%/} drupal_user=${2} httpd_group="${3:-www-data}" # Parse Command Line Arguments while [ "$#" -gt 0 ]; do case "$1" in --drupal_path=*) drupal_path="${1#*=}" ;; --drupal_user=*) drupal_user="${1#*=}" ;; --httpd_group=*) httpd_group="${1#*=}" ;; --help) print_help;; *) printf "***********************************************************\n" printf "* Error: Invalid argument, run --help for valid arguments. *\n" printf "***********************************************************\n" exit 1 esac shift done if [ -z "${drupal_path}" ] || [ ! -d "${drupal_path}/sites" ] || [ ! -f "${drupal_path}/core/modules/system/system.module" ] && [ ! -f "${drupal_path}/modules/system/system.module" ]; then printf "*********************************************\n" printf "* Error: Please provide a valid Drupal path. *\n" printf "*********************************************\n" print_help exit 1 fi if [ -z "${drupal_user}" ] || [[ $(id -un "${drupal_user}" 2> /dev/null) != "${drupal_user}" ]]; then printf "*************************************\n" printf "* Error: Please provide a valid user. *\n" printf "*************************************\n" print_help exit 1 fi cd $drupal_path printf "Changing ownership of all contents of "${drupal_path}":\n user => "${drupal_user}" \t group => "${httpd_group}"\n" chown -R ${drupal_user}:${httpd_group} . printf "Changing permissions of all directories inside "${drupal_path}" to "rwxr-x---"...\n" find . -type d -exec chmod u=rwx,g=rx,o= '{}' \; printf "Changing permissions of all files inside "${drupal_path}" to "rw-r-----"...\n" find . -type f -exec chmod u=rw,g=r,o= '{}' \; printf "Changing permissions of "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n" cd sites find . -type d -name files -exec chmod ug=rwx,o= '{}' \; printf "Changing permissions of all files inside all "files" directories in "${drupal_path}/sites" to "rw-rw----"...\n" printf "Changing permissions of all directories inside all "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n" for x in ./*/files; do find ${x} -type d -exec chmod ug=rwx,o= '{}' \; find ${x} -type f -exec chmod ug=rw,o= '{}' \; done echo "Done setting proper permissions on files and directories" 

И нужно вызвать команду:

 sudo bash /Applications/XAMPP/xamppfiles/htdocs/fix-permissions.sh --drupal_path=/Applications/XAMPP/xamppfiles/htdocs/rkmission --drupal_user=daemon --httpd_group=admin 

В моем случае пользователь, на котором работает Apache, является «демоном». Вы можете идентифицировать пользователя, просто запустив этот php-скрипт в php-файле через localhost:

 <?php echo exec('whoami');?> 

Ниже приведен правильный пользователь с правом доступа к файлам для Drupal:

введите описание изображения здесь

Возможно, вам придется изменить его, как только он будет отправлен обратно на сервер!

 A. #LoadModule vhost_alias_module modules/mod_vhost_alias.so B. <Directory /> AllowOverride none Require all denied </Directory> 

Заменить:

 A. LoadModule vhost_alias_module modules/mod_vhost_alias.so B: <Directory /> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> 

От E: \ xamp ** apache \ conf / httpd.conf **