4

(php フレームワーク)IIS7で記述された Web アプリケーションで動作するようにサーバーをセットアップしたいと考えています。laravel

CI(リンク)に似たものを見つけました

しかし、それは機能しません(もちろん、リダイレクトlaravelを削除しました)。index.php

実際に動作するのはホームページのみです ( www.mysite.com/public)

/dIIS7を Laravel で使っている人はいますか?

前もって感謝します

4

8 に答える 8

6

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

今ではすべてが完璧に機能します

于 2013-01-17T16:15:44.537 に答える
4

私は以下のコードを使用しました 。パスを変更せずにすぐに動作するのでは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>
于 2014-03-21T10:14:54.663 に答える
3

長い時間のグーグルとテストの後、ちょうどそれが機能するようになりました。これが私の手順です:

IIS 8.5 を使用した laravel5

  1. ウィンドウ プラットフォーム インストーラーをインストールする
  2. ウィンドウプラットフォームインストーラーでphp-5.6をインストールします
  3. ウィンドウ プラットフォーム インストーラーを使用して IIS 用の php-manager をインストールする (オプション)
  4. Visual Studio 2012 (バージョン x86) 用の Visual C++ Redistributable をインストール
    します。これがないと、FastCgi プロセスが予期せず興奮します (php_info() は動作しません)
  5. composer.exeをインストール
  6. composer vendor bin パスをパスにエクスポート
    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

以上、ハッピーラヴァレル!

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

于 2015-06-19T15:57:51.857 に答える
3

IIS でハンドラー マッピングを確認します。

  1. IIS を起動
  2. あなたのサイトをクリック
  3. 「ハンドラ マッピング」に進みます (IIS ブロック内)
  4. パス PHP、名前 = PHPxx_via_FastCGI (xx = PHP バージョン) を検索します。
  5. それをダブルクリックし、リクエストの制限をクリックして、[すべての動詞] を選択する [動詞] タブをクリックします。これで修正されます:-)
于 2014-02-10T18:19:12.130 に答える
0

$_GET 変数を取得できるようにしたい場合は、次を使用しないでください。

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

代わりに次を使用します。

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

于 2013-09-19T16:40:35.983 に答える
0

IISWindows にインストールするには、リンクをクリックしてクリックし、オプションを選択しcontrol panel -> uninstall programsます。Turn Off Windows Features On/OffIISCGI

ここに画像の説明を入力

Web Platform Installerインターネットからダウンロードinstall PHP and SQL drivers for IIS

プログラムから開くIISWeb サイトを追加します。Publicpublic フォルダーの場合は、laravel/lumen プロジェクトのフォルダーをポイントします。

Laravel および Lumen プロジェクト用。アクセス可能な任意のフォルダーに composer からプロジェクトを作成します。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> 
于 2017-08-20T19:06:49.603 に答える