Подкаталоги веб-сервера Apache не загружаются - PullRequest
1 голос
/ 08 декабря 2011

Я пытаюсь настроить базовый веб-сервер apache 2 только для целей тестирования.У меня установлен Apache 2 на Ubuntu 11.10.Я могу получить доступ к корневому каталогу на веб-сервере, просто перейдя в "localhost" в моем браузере.Все это находится в каталоге по умолчанию: / var / www.Однако проблема начинается всякий раз, когда я пытаюсь получить доступ к подкаталогам моего веб-сервера.Так, например, если я иду в «localhost / phpproject /», в котором есть файл index.php, указанный в нем (и я проверил, чтобы убедиться, что PHP работает правильно), все, что он хочет сделать в моем браузере, это попытказагружать файл, когда я набираю адрес вместо того, чтобы что-то отображать.

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

Ответы [ 4 ]

1 голос
/ 08 декабря 2011

Убедитесь, что вы правильно установили PHP и зарегистрировали PHP в своей конфигурации Apache.

Это ключ здесь, похоже, он отправляет вам файл index.php, протестируйте файл PHP в главной папкеза этим подкаталогом и посмотрите, пытается ли он его скачать.

Файл может быть просто:

<?php
phpinfo();

Посмотрите, дает ли вам phpinfo, если поместить его в index.php в родительской папкестраница или пытается загрузить index.php.

Если он пытается загрузить его, просто PHP не настроен в apache для обработки файлов, заканчивающихся на .php

Чтобы настроить его, добавьтеследующие строки в ваш файл httpd.conf

LoadModule php4_module modules/libphp4.so
#
# Cause the PHP interpreter handle files with a .php extension.
#
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 9524288
</Files>
AddType application/x-httpd-php .php
1 голос
/ 08 декабря 2011

Прежде всего, вы не должны хранить свои файлы разработки в папке / var / www.Настройте свой Apache, чтобы ваши веб-файлы находились в вашем домашнем каталоге.При этом вам не нужно иметь права sudo для редактирования файлов в / var / www.Если вы хотите следовать моим настройкам, создайте каталог с именем www в вашей домашней папке / home / yourname / www.Посмотрите на мой конфиг / etc / apache2 / sites-enabled / 000-default

http://pastebin.com/3gcE59Lh

Это хорошо работает для меня.

Если вы измените конфигурацию таким образом, обязательно перезапустите apache [sudo service apache2 restart]

0 голосов
/ 08 декабря 2011

в Ubuntu вы должны установить опцию LAMP, используя tasksel в CL.Это даст вам совместную работу Apache, MySQL и PHP.Похоже, вы установили их отдельно и неправильно настроили PHP.MIME-типы определяют обработку серверами определенных типов файлов.

apesa@ubunt$ sudo tasksel

Следуйте инструкциям

РЕДАКТИРОВАТЬ:

Мы использовали все изменения конфигурации в httpd.conf.Если вы использовали менеджер пакетов, как вы это сделали, у вас будет распределенная среда конфигурации.Вам нужно будет перейти в etc / apache2 / mods и посмотреть в файле php.conf.Внутри есть направления.Похоже, вам нужно убедиться, что веб-сервер понимает каталоги и местоположения FS.Посмотрите на пример @Chrispy.Вы не будете использовать первую строку, так как модуль php в вашем env загружается через php.load, а конфигурация выполняется в php.conf.Эта директива AddType важна и говорит серверу выполнить ваш файл вместо его обслуживания.посмотри.Кстати, Apache Project поддерживает один из лучших серверов рассылки по адресу: http://httpd.apache.org/userslist.html

0 голосов
/ 08 декабря 2011

Убедитесь, что вы правильно установили PHP и зарегистрировали PHP в своей конфигурации apache.

В руководстве должны быть подробно описаны необходимые шаги установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...