タグ付けされた質問 「session」

Magentoでのセッション管理に関する質問を示します。

1
MEMCACHEセッションストレージのあるカテゴリページで、Magento varienセッションの開始が非常に遅い
私が使用していますmemcacheセッションストレージ用やカテゴリページに、私はvarienセッション開始が30秒を引き継ぐことができ、新たな遺物取引に気づきました。 セッションロックと関係がある可能性がありますが、memcacheを使用する場合、これは実際には問題ではないと考えました。 誰もがこれに直面したか、これを引き起こす可能性のあるアイデアを持っています。

6
magento 2ベータ版のフロントエンドでセッションメッセージを表示する方法
magento 2モジュールでエラーまたは成功メッセージを表示したい。フロントエンドコントローラをクラス名で拡張しました\Magento\Framework\App\Action\Action。次に、次のコードを使用してクライアントをホームページにリダイレクトします $this->messageManager->addError($SomeMessage); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath($base_path); すべて正常に動作しますが、この行はエラーを出力しません $this->messageManager->addError($SomeMessage);


3
ログインして顧客を彼のウェブサイトにリダイレクトする
mutistore-multiwebsite Magentoで、ユーザーが登録したのと同じWebサイトにログインするように強制したいと思います。彼らはどのWebサイトでも任意のログインフォームを使用できますが、フォームは資格情報を確認し、正しいWebサイトにリダイレクトする必要があります。 お客様のウェブサイトを確認し、ログインを強制しようとしました。それはかなりうまくいきません。ユーザーは、自分が登録しているWebサイトではなく、現在のWebサイトにログインします。 app / code / local / mage / Customer / Session.php public function login($username, $password) { /**************************************************/ $customer = Mage::getModel("customer/customer"); $customer_website = null; foreach (Mage::app()->getWebsites() as $website) { $customer->setWebsiteId($website->getId()); $customer->loadByEmail($username); //check if user exists if($customer->getName()){ $customer_website = $website->getId(); } } /*************************************************/ $customer = Mage::getModel('customer/customer')->setWebsiteId($customer_website); if ($customer->authenticate($username, $password)) …

2
拡張機能のインストール後に管理者にログインできない
これについての細かい詳細については、事前にお詫び申し上げます。 Magento拡張機能を販売しています。最新のリリースで、私は数人のユーザーから奇妙なバグ報告を受け始めました。具体的には、拡張機能をインストールした後、管理者にログインできず、ログインリクエストがログインページにリダイレクトされ、エラーメッセージが表示されないことが報告されます。 したがって、これは古典的な「Cookieを設定できない/セッションをインスタンス化できない」問題のように聞こえます。これは奇妙な取得します彼らはどこにある 12時間(つまり、見積もりだ) - 3の後にログインすることが。言い換えれば、彼らは問題に遭遇し、サポートのために私に連絡し、私は書き戻し、彼らは問題が消えたと報告します。また、Cookieをクリアして新しいセッションIDを確立すると問題が解決し、同じ問題が発生したユーザーに同じことをお勧めします。 ここで誰かが似たようなものに遭遇したり、これが発生した理由を考えたりできますか?問題をローカルで再現することはできませんが、正当な問題であると確信できる十分なレポートを入手しました。

3
Magentoセッションストレージ:RedisとMemcachedの比較
私はMagento EE 1.12.2(CE 1.7.2と同じ)を実行していますが、ここにはキャッシング用のRedis(Cm_Cache拡張、Redis v 2.2.12)がありますが、セッションストレージにはMemcacheを使用しています。 これらのMagentoバージョンでは、Redisはそのままではサポートされていません。だから私のここでの懸念は: 労力と速度の向上という観点から、セッションストレージをRedisに取り込むのは面倒なことでしょうか? Memcacheは同じように優れているのではないですか? このプロジェクトでは、サードパーティのXMLファイルをセッションに保存する必要があるため、セッションファイルが大きいため、セッションの読み取りと書き込みを最適化すると、大きな影響が出る可能性があります。 からlocal.xml: <session_save><![CDATA[memcache]]></session_save> そして: <cache> <backend>Cm_Cache_Backend_Redis</backend> [...] </cache>

1
Cm_RedisSessionを使用した後のセッションロック
Magento 1.9.2.4のデフォルトのCm_RedisSessionモジュールを使用して、セッションストレージとしてRedisに切り替えました。導入後、多くのお客様がページの読み込みに非常に長い時間(> 20-30秒)を経験しました。Redis-Serverでは、AWS ElastiCache(m3.large)をTideways(Newrelic と同様)で使用しています。トレースでこのボトルネックを確認しました。 この問題の詳細を読み、Cm_RedisSessionログを調べたところ、お客様からのセッションがロックされていることがわかり、さらに調査した結果、セッションロックの改善によりCm_RedisSessionを1.14にアップグレードすることにしました。 最新バージョンでは、ロックは5秒後に正しく解除されるため、問題は最小限に抑えられます。ただし、ロード時間は5秒のままです。 私には2つの理論がありました。 一部のリクエストは終了するため、session_close()呼び出しはなく、そのためロックは解放されません。 すべてのログ(php-fpm、nginx、magento)を有効にして、Tideways for a Customerにこのエラーが表示されるまで監視しましたが、この特定の時間枠にはエラーはありませんでした 複数のスクリプトが同じセッションを読み書きしようとします: 同じフロントエンドCookieで同じページを並列に100回呼び出すスクリプトを作成しましたが、ロックは表示されません。 この時点では、このロックが表示される理由を理解できず、さらに悪いことに、ローカルのマシンまたはステージングシステムでそれを再現できません。 この問題を解決するためのヒントや解決策はありますか? 編集:誰かがCm_RedisSessionのロックを無効にしようとしましたか? 編集:1.15と同じ問題 編集:ロック付きのリクエストのほとんどはajaxリクエストです。とにかく再現できません。 $ php5-fpm -v PHP 5.5.32-1+deb.sury.org~trusty+1 (fpm-fcgi) (built: Feb 5 2016 10:10:42) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright …

1
magentoでvar / sessionを削除した後も顧客をログインしたままにする
以下のリンクのように、ライブサイトで問題が発生しています。 私の知る限り、var / sessionフォルダを削除すると、フロントエンドとバックエンドの両方にログインする必要があります。 この問題を解決するには:フロントエンドでライブサイトが空白であるか、読み込みを続行し、読み込まないでください。セッションフォルダーを何度も削除する必要があります。セッションフォルダーも削除した場合、お客様はサイトにログインしたままにすることができますか?

2
ワニスとターペンタイン
サーバーでVarnishを再起動すると、ユーザーのセッションが失われます。 これは、私の顧客がショッピングカートを紛失する順番です。 これはVarnishの正常な動作ですか、それとも私のVCLのせいですか?それはそうではないようです 詳細情報。 詳しい調査の結果、この問題はGitHubの問題#725に関連しているようです。 私のMagentoインストールはバージョン1.9.1.0です。フロントエンド全体がhttpsで実行されていることにも注意してください。SSLを終了するためにVarnishの前でPoundを使用しています。 このバージョンのデフォルトのMagentoの動作は、通常は「frontend_cid」と呼ばれるセカンダリフロントエンドCookieを作成するようです。これは、MITM攻撃に対してテストする試みです。 Turpentineによって生成されたVCLファイルがこのCookieを渡していないため、無効なセッションが発生しているようです。 Magentoがクライアントに送信するCookieをVCLファイルがどのように渡すかを誰かが説明できますか? これを必要なCookieを生成しないVarnishに絞り込みました。 Magento 1.9.1.0以降、MITM攻撃をブロックするために「frontend_cid」Cookieが導入されました。 これはMage_Core_Model_Session_Abstract_Varienクラスの135行目にあります if (Mage::app()->getFrontController()->getRequest()->isSecure() && empty($cookieParams['secure'])) { // secure cookie check to prevent MITM attack $secureCookieName = $sessionName . '_cid'; if (isset($_SESSION[self::SECURE_COOKIE_CHECK_KEY]) && $_SESSION[self::SECURE_COOKIE_CHECK_KEY] !== md5($cookie->get($secureCookieName)) ) { session_regenerate_id(false); $sessionHosts = $this->getSessionHosts(); $currentCookieDomain = $cookie->getDomain(); foreach (array_keys($sessionHosts) as $host) …

2
Magentoはいつセッションを使用し、いつCookieを使用しますか?
MagentoにはセッションとCookie処理のための次のコア関数があることを知っています。 Mage::getSingleton('core/cookie'); Mage::getSingleton('core/session'); MagentoはいつCookieを設定し、いつPHPセッションを設定しますか?ユースケースは何ですか? Magentoがカートの情報を保存しMage::getSingleton('checkout/session')、ユーザーのステータスをに保存しているので、少し混乱していますMage::getSingleton('customer/session')。しかし、チェックアウトセッションはセッションではなく、Cookieのようです。ブラウザーを閉じてページを再度開いたとき、アイテムはまだカートに残っているからです。 つまり、checkout/sessionモデルはグローバル$_SESSION変数ではなくCookieを設定するということですか?


1
session_write_closeが呼び出された後、セッションメッセージをどのように追加しますか?
私たちは、Unirgyの優れたuRapidFlowモジュールを使用していますが、少し不快に感じました。いずれかのプロファイルを実行すると、が呼び出されますsession_write_close。これの問題は、adminhtmlコントローラーからプロセスを実行したい場合、セッションフラッシュメッセージを設定してユーザーに成功またはキャッチされた例外を通知できないことを意味します。 セッションメッセージを追加するために、プロセスの完了後にセッションを再開することはできますか? PHPでセッションを再開できるかどうか最初はわかりませんでしたが、PHPの概念実証は機能します。 session_start(); // if this is the second run, show the value if (!empty($_SESSION['foo'])) { echo $_SESSION['foo'], PHP_EOL; } // set an initial value $_SESSION['foo'] = 'bar'; // start running profile session_write_close(); // after running profile session_start(); // set a value to see if it takes $_SESSION['foo'] = …

1
現在の注文ID magento 2を取得する
このコードでラストオーダーIDを取得する方法を知っています、 $this->_checkoutSession->getQuote()->getReservedOrderId(); インジェクションで_checkoutSessionが取得される場合、 \Magento\Checkout\Model\Session $checkoutSession magento 2で現在の注文IDを取得する方法を知りたい。

3
セッションオブジェクトを取得する正しい方法は?
私は現在Magento 2の支払いモジュールを書いており、「Magento Extension Quality Program Coding Standard」CodeSniffer (https://github.com/magento/marketplace-eqp)と照合しています。 (チェックアウト)セッションオブジェクトを使用しているすべてのクラスに対して、CodeSnifferは次の警告で応答します。 Session object MUST NOT be requested in constructor. It can only be passed as a method argument. 次の方法でセッションオブジェクトを取得しています。 /** * Checkout session object * * @var \Magento\Checkout\Model\Session */ protected $checkoutSession; /** * Constructor * * @param \Magento\Checkout\Model\Session $checkoutSession * @return void …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.