Мне нужно разместить веб-сайт на основе php в IIS, и я столкнулся с некоторым странным поведением файлов .php.
Когда я пытаюсь открыть index.php, я получаю белый экран смерти. Журналов ошибок нет (я их включил). Я подумал, что, возможно, в моем коде есть ошибка, хотя он работал на Xampp, но тем не менее я попробовал какой-то простой код:
<html>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>
Я открыл x.x.x.x / hello.php и получил белый экран.
Это могло быть вызвано множеством проблем, поэтому я начал их тестировать, и тут стало странно, поэтому:
В тот же каталог я поместил hello.html с тем же содержимым, но вместо части php есть <p>Hello world</p>
. Когда я пытаюсь открыть x.x.x.x / hello.html, он работает, и отображается текст Hello world.
Итак, я подумал, что проблема с частью .php. Я разместил phpinfo.php с <?php phpinfo(); ?>
в inetpub / wwwroot. Я открыл localhost / phpinfo.php, и он загрузил все информационное содержимое php.
Затем я скопировал hello.php в inetpub / wwwroot и открыл localhost / hello.php, и все заработало, браузер отобразил Hello world!
Коротко. В inetpub / wwwroot файлы .php работают правильно, и я могу запускать их в браузере. В любом другом каталоге моих сайтов я получаю белый экран. Но только с файлами .php. Файлы Html работают нормально.
Итак, меня действительно смущает это странное поведение. Я новичок в IIS, поэтому, возможно, я что-то пропустил, но сейчас я застрял и не знаю, что делать. Хотя я могу запустить веб-сайт в inetpub / wwwroot, это не то решение, которое я ищу.
Спасибо за помощь.
Что ж, я сдался. Удалил, а затем переустановил все с самого начала, включая .Net framework, IIS, расширение php и т. Д. ... и теперь он работает. Это могло быть вызвано тем, что у меня не был установлен .NET framework 3.5. У меня были установлены версии 2xx и 4xx, но кажется, что я пропустил установку 3.5