0

我遇到了一个奇怪的问题,让 PHP 脚本在 IIS 上工作。在我的脚本中,我使用了替代逻辑语法:

<?php
     if ($a == 5):
         echo "a equals 5";
         echo "...";
     elseif ($a == 6):
         echo "a equals 6";
         echo "!!!";
     else:
         echo "a is neither 5 nor 6";
         endif;
?>

现在我发现这会导致“500 服务器错误”消息,直到我将语法更改为:

   if($a==5){
         echo "a equals 5";
    }

我必须在 IIS 上做些什么来打开 if/elseif/else 的替代语法吗?

4

1 回答 1

0

当您在 IIS 的生产环境中时,通常会触发 500 服务器错误,并且它会触发任何错误。

在这种情况下,我在开发模式下测试了您的代码,它告诉我“未定义的变量:a”

我设置$a = 6;并且您的代码运行良好。我在 IIS7/PHP 5.4.13

如果您想查看错误,您可以:

  • 在 IIS manager > your pool > PHP Management 上,您可以将环境更改为开发。

  • 更改 php.ini 并根据需要设置 error_reporting,并将 display_errors 设置为 On。

  • 在运行时:将其添加到脚本的开头:error_reporting(E_ALL)ini_set('display_errors', 'On')

于 2013-03-19T13:10:37.820 回答