建立laravel在IIS7(setting up laravel on IIS7)

2019-07-18 08:34发布

我想设置我的IIS7的服务器,以便让它与写在一个Web应用程序laravel (PHP框架)。

我发现类似的CI ( 链接 )

但它不工作laravel (当然我删除了index.php重定向)。

实际上只有主页作品( www.mysite.com/public

任何人使用/ d IIS7与Laravel?

提前致谢

Answer 1:

我创建web.config内部在根文件夹中的文件<configuration></configuration>

<system.webServer>
    <defaultDocument>
        <files>
            <clear />
            <add value="index.php" />
            <add value="default.aspx" />
            <add value="Default.htm" />
            <add value="Default.asp" />
            <add value="index.htm" />
            <add value="index.html" />
        </files>
    </defaultDocument>
    <handlers accessPolicy="Read, Execute, Script" />
    <rewrite>
        <rules>
            <rule name="Imported Rule 2" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="public/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

然后将复制index.php公用文件夹的文件到项目修改的根文件夹../paths.phppaths.php作为这个指南说

现在一切完美



Answer 2:

我用下面的代码,重定向到index.php/{R:1}而不是public/{R:1}作品直开箱然后用没有路径的改变。

<rewrite>
    <rules>
        <rule name="Imported Rule 2" stopProcessing="true">
            <match url="^(.*)$" ignoreCase="false" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php/{R:1}" />
        </rule>
    </rules>
</rewrite>


Answer 3:

检查您的处理程序映射在IIS:

  1. 启动IIS
  2. 点击您的网站
  3. 去“处理程序映射”(在IIS块)
  4. 搜索路径PHP,名称= PHPxx_via_FastCGI(XX = PHP版本)
  5. 双击它,点击要求的限制,点击选项卡“动词在那里你选择所有动词的。 这将修复它:-)


Answer 4:

这是我的工作文件,有两个规则:(网址指向公用文件夹)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="RewriteRequestsToPublic">
          <match url="^(.*)$" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
          </conditions>
          <action type="Rewrite" url="/{R:0}" />
        </rule>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>


Answer 5:

刚拿到它时间长谷歌和测试工作后。 下面是我的步骤:

laravel5与IIS 8.5

  1. 安装窗口平台的安装程序
  2. 安装PHP-5.6与窗口平台的安装程序
  3. 安装PHP-经理与窗口平台安装IIS(可选)
  4. 安装的Visual C ++可再发行的Visual Studio 2012(版本86)
    没有这一点,FastCGI进程兴奋意外(php_info()将无法工作)
  5. 安装composer.exe
  6. 出口作曲家厂商仓路径路径
    set PATH=%PATH%;%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  7. 运行composer global require "laravel/installer=~1.1"
  8. 运行lavarel new app
  9. 在IIS中创建并指向新的应用程序<app>/public

就这样,快乐Lavarel!

参考: http://alvarotrigo.com/blog/installing-laravel-4-in-windows-7-with-iis7/



Answer 6:

如果你希望能够找回您的$ _GET变量不使用:

<match url="^(.*)$" ignoreCase="false" />

而是使用:

<match url="^" ignoreCase="false" />



Answer 7:

这是我如何固定它。 打开配置文件,如果下面的映射不存在,就把下这些行

  <rewrite>
    <rules>
      <rule name="Imported Rule 1" stopProcessing="true">
        <match url="^(.*)/$" ignoreCase="false" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
      </rule>
      <rule name="Imported Rule 2" stopProcessing="true">
        <match url="^" ignoreCase="false" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
        </conditions>
        <action type="Rewrite" url="index.php" />
      </rule>
    </rules>
  </rewrite>


Answer 8:

要安装IIS在您的Windows,转到control panel -> uninstall programs ,并按下Turn Off Windows Features On/Off链接并点击IIS并选择CGI选项。

下载Web Platform Installer从互联网上install PHP and SQL drivers for IIS

打开IIS的程序添加网站。 和公用文件夹点指向Public文件夹中的laravel /流明项目。

对于Laravel和流明项目。 在任何可访问的文件夹中创建的作曲家项目。 得到了public文件夹中的文件夹结构,并创建web.config有以下内容的文件我得到这个从laracasts

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Rule 1" stopProcessing="true">
              <match url="^(.*)/$" ignoreCase="false" />
              <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
            </rule>
            <rule name="Rule 2" stopProcessing="true">
              <match url="^" ignoreCase="false" />
              <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.php" />
            </rule>
          </rules>
        </rewrite>
    </system.webServer>
</configuration> 


文章来源: setting up laravel on IIS7