загрузка php файлов вместо открытия - PullRequest
3 голосов
/ 16 сентября 2011

У меня ноутбук с Windows 7. Я скачал PHP 5.2.8. Я скачал Apache 2.2.

Я запустил MSI для установки PHP, которая, как я знаю, не рекомендуется, но я несколько раз пробовал нормальный маршрут без успеха.

У меня работает Apache, и он показывает «Запуск всех служб Apache». Когда я сделал установку, я настроил ее на "localhost".

Я установил флажок CGI на панели управления.

Я поместил простой файл test.php в C: \ inetpub \ wwwroot ... но когда файл дважды щелкают по файлу, он пытается загрузить файл, а не открывать его как веб-страницу.

Я гуглю это пару часов и не могу найти подходящее решение. Я очистил свой кеш, но все равно не повезло.

Я также настроил apache на прослушивание порта 8080, чтобы быть уверенным, что никто другой ранее не использовал порт 80.

Любые идеи ??

Спасибо!


обновление - мне не хватало php5apache2.dll ... я поместил его в каталог PHP, но результаты остались прежними. Я также попытался найти файл с помощью IE, который, к сожалению, ничего не изменил.


обновить еще раз, - - DOH! - не понял, что это был localhost / test.php или какой ответ ниже. когда я делаю это, я получаю страницу с ошибкой сервера .. что лучше, чем раньше, я думаю :)

Server Error in Application "DEFAULT WEB SITE"

HTTP Error 500.0 - Internal Server Error

An unknown FastCGI error occured

Module FastCgiModule 

Notification ExecuteRequestHandler 

Handler PHP 

Error Code 0x8007010b 

Requested URL http://localhost:80/test.php

Physical Path C:\inetpub\wwwroot\test.php 

Logon Method Anonymous 

Logon User Anonymous 

Наиболее вероятные причины:

• IIS получил запрос; однако во время обработки запроса произошла внутренняя ошибка. Коренная причина этой ошибки зависит от того, какой модуль обрабатывает запрос, и что происходило в рабочем процессе, когда произошла эта ошибка.

• IIS не смог получить доступ к файлу web.config для веб-сайта или приложения. Это может произойти, если разрешения NTFS установлены неправильно.

• IIS не удалось обработать конфигурацию для веб-сайта или приложения.

• Аутентифицированный пользователь не имеет разрешения на использование этой DLL.

• Запрос сопоставлен с управляемым обработчиком, но функция расширяемости .NET не установлена.

когда я пытаюсь запустить / запустить apache, он выдает ошибку. поэтому, когда я запускаю тестовую конфигурацию apache, я получаю следующее сообщение: httpd.exe: Синтаксическая ошибка в строке 1 C: /Apache/conf/httpd.conf: Невозможно загрузить C: /php/php5apache2_2.dll на сервер: указанный модуль не найден.

Однако, когда я перехожу к этому директору, я вижу этот файл DLL там !! тьфу ...

идеи?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2011

Если вы поместили файл с именем test.php в C: \ inetpub \ wwwroot, то откройте браузер на http://localhost/test.php, чтобы попытаться выполнить файл.

php5apache2.dllфайл должен находиться в каталоге вашего модуля для apache, и вам нужно будет добавить соответствующие строки конфигурации apache, например, следующие:

LoadModule php5_module "c: /path/to/php5apache2.dll"

Приложение AddHandler / x-httpd-php .php

Приложение SetHandler / x-httpd-php

После внесения этих изменений вам потребуется перезапустить apache.

1 голос
/ 01 марта 2013

Если вы правильно установили PHP в Apache, как указано в других ответах, возможно, страница .php не отправляет правильный заголовок. У меня есть файл .php, который испускает заголовок с Content-Type: text / json, он обычно используется для предоставления сервиса для клиента Ajax. Страница .php должна отправлять Context-Type: text / html.

Чтобы определить, действительно ли это проблема, вы можете использовать wget с опцией -S или использовать инструменты разработчика в вашем браузере. Посмотрите на этот ответ: Инструмент для просмотра заголовков ответов

0 голосов
/ 16 сентября 2011

Двойной щелчок? Как внутри проводника? Если так, это не откроет страницу. Вам нужно перейти на страницу. Если вы находитесь в списке каталогов для Apache, двойной щелчок не требуется.

Что касается настройки, если вы новичок, лучше всего использовать iis, easyphp, xampp или какой-либо другой вариант

Они заставят вас бежать без хлопот

...