是否有任何PHP代码无法在IIS上运行?

时间:2012-01-23 09:47:36

标签: php iis

如果这是一篇重复的帖子,我很抱歉,但经过一番搜索后,我找不到我想要的内容。

是否有任何PHP代码(语法)无法在IIS7上运行?

6 个答案:

答案 0 :(得分:3)

不,PHP 语法在每个平台上完全相同,甚至在Web服务器之外。

当然,特定于平台的代码和变量可能存在一些细微差别。一个很好的例子是PHP的$_SERVER超全局,它没有完全填充在IIS

答案 1 :(得分:1)

如果安装了标准PHP和PHP模块,答案是否定的。

答案 2 :(得分:1)

PCNTL无法在Windows环境中运行。

http://www.php.net/manual/en/pcntl.installation.php

答案 3 :(得分:1)

此处还要考虑警告http://php.net/manual/en/function.file.php 如果要使用文件功能从URL中读取。 尽管这是一个不太可能的案例,但我已经面对了。

答案 4 :(得分:1)

  

块引用    一个很好的例子是PHP的$ _SERVER超全局,它没有在IIS上完全填充

你可以用这样的东西解决这个问题

function setRequestURI() {
    //Sets $_SERVER['REQUEST_URI'] for IIS
    if (!isset($_SERVER['REQUEST_URI']) || !$_SERVER['REQUEST_URI']) {
        if (!($_SERVER['REQUEST_URI'] = @$_SERVER['PHP_SELF']))  {
            $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
        }
        if (isset( $_SERVER['QUERY_STRING'])) {
            $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
        }
    }
}

答案 5 :(得分:0)

我认为PHP不依赖于操作系统。您可以在任何平台上运行PHP脚本,并在Web服务器上安装适当的模块以运行php脚本。