1

Yiiについて聞きたいことがあります。Yiiのページ(コントローラー→メソッド)は同時に(同じブラウザ、別のタブで)アクセスできないことに気づきました。ユーザーが別のページを開く前に、まずページの処理を完了する必要があります。

class SiteController extends CController {

    public function actionIndex() {
        echo "Test1";
        sleep(10);
        echo "Test2"
    }

    public function actionIndex2() {
        echo "Test1";
        sleep(10);
        echo "Test2";
    }

}

たとえば、13.00 でhttp://test.com/site/indexにアクセスし、13.01 でhttp://test.com/site/index2にアクセスすると、 http: //test.com/site/indexがレンダリングされます。 13.10 およびhttp://test.com/site/index2は、13.20 または 13.21 頃にレンダリングされます。私が期待しているのは、コードが並行して実行されることです。最初のコードは 13.10 で終了し、2 番目のコードは 13.10 または 13.11 で終了します。以下の php スクリプトのように (名前を test.php に変更します)、別のタブで実行します (ただし、同じブラウザー)。

<?php
echo "Test1";
sleep(10);
echo "Test2";
?>

そのため、Yii は前のリクエストを完了することなく、同時に複数のリクエストに応答できます。ここで見つけた同じ問題: http://www.yiiframework.com/forum/index.php/topic/41358-multiple-simultaneous-http-requestssolved/とここhttp://www.yiiframework.com/forum/index .php/topic/11881-write-delay-with-sessionscache/

私はまだ最善の解決策を見つけています。今のところ、このYiiフレームワークの非同期リクエストとYiiフレームワークでのPHP非同期メソッド呼び出しを試しています...

ありがとう

4

0 に答える 0