Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使IIS服务器与Zend一起工作_Php_Zend Framework_Iis_Plesk - Fatal编程技术网

Php 使IIS服务器与Zend一起工作

Php 使IIS服务器与Zend一起工作,php,zend-framework,iis,plesk,Php,Zend Framework,Iis,Plesk,我正试图使我的网站与我在服务器上安装的IIS一起工作。我还安装了plesk控制面板 我正在努力: 让它在公用文件夹中查找index.php,而不仅仅是httpdocs文件夹 使mod_重写工作正常(我已将公用文件夹中的所有内容提取到httpdocs文件夹中,以检查这是否可行,它确实加载了基本页面,但找不到任何其他内容,并说服务器上找不到该文件) 首先,mod_rewrite仅适用于unix风格的服务器,.htaccess不适用于IIS。因此,任何通过htaccess提供路由的MVC框架都会有很多

我正试图使我的网站与我在服务器上安装的IIS一起工作。我还安装了plesk控制面板

我正在努力:

  • 让它在公用文件夹中查找index.php,而不仅仅是httpdocs文件夹

  • 使mod_重写工作正常(我已将公用文件夹中的所有内容提取到httpdocs文件夹中,以检查这是否可行,它确实加载了基本页面,但找不到任何其他内容,并说服务器上找不到该文件)


  • 首先,mod_rewrite仅适用于unix风格的服务器,.htaccess不适用于IIS。因此,任何通过htaccess提供路由的MVC框架都会有很多问题

    其次,IIS和PHP存在许多性能问题,许多函数的工作方式与实时PHP/UNIX环境不同。首先(除非他们更改了它),您不能将/用于文件路径,必须将所有路径更改为\(避开反斜杠),这会变得很麻烦,或者使用PHP_DS常量并使代码混乱。。。建议使用基于apache的服务器,apache可以安装在windows上

    最后,在IIS中,您可以简单地将网站目录指向公用文件夹,但如果使用ISAPI模块,则可能需要允许pĥp在目录结构中向后移动。我记得有一次,ASP必须允许文件中的反向访问才能从IIS网站的根文件夹中取出。如果将php的CGI版本与IIS一起使用,则可能不会出现此问题


    稍后

    有许多关于这方面的链接可以帮助您找到自己的路。正如@Mathieu所说,
    mod_rewrite
    只适用于Apache服务器,不适用于IIS。你需要这样的东西

    以下链接似乎包含相当准确的信息:


    希望这能有所帮助,

    ZF手册中的路由页面有一些为IIS配置URL重写的示例-不知道IIS现在已经重写了,我已经很长时间没有使用LAMP路径了:D