プロジェクト

全般

プロフィール

Bug(バグ) #3603

完了

pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出る

kaoru n さんが10年以上前に追加. ほぼ7年前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2017-05-26
期日:
進捗率:

100%

予定工数:
(合計: 0:00時間)
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Yes (はい)

説明

現象

pear.symfony-project.com に接続できない時、下記のエラーが発生しインストールが中断する

>> sfPearFrontendPlugin Attempting to discover channel "pear.symfony-project.com"...
>> sfPearFrontendPlugin Attempting fallback to https instead of http on channel
>> sfPearFrontendPlugin "pear.symfony-project.com"...

  Unable to register channel "pear.symfony-project.com" 

原因

openpne:install 時、opPluginManager の初期化を行うが、初期化の処理の中で channel 情報取得のため、
pear.symfony-project.com に接続を試みるが、接続できない状態であれば、エラーとなり、例外が投げられ、インストールが中断される。

修正内容

openpne:install 時に pear.symfony-project.com や plugins.symfony-project.org に接続を行わないように修正


子チケット 2 (0件未完了2件完了)

Backport(バックポート) #4198: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出るFixed(完了)Shinichi Urabe2017-05-26

操作
Backport(バックポート) #4199: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出るFixed(完了)Shinichi Urabe2017-05-26

操作

関連するチケット 3 (0件未完了3件完了)

関連している OpenPNE 3 - Bug(バグ) #1780: php ./symfony openpne:install時にエラーが出るFixed(完了)Yuya Watanabe2010-11-11

操作
コピー先 OpenPNE 3 - Backport(バックポート) #4198: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出るFixed(完了)Shinichi Urabe2017-05-26

操作
コピー先 OpenPNE 3 - Backport(バックポート) #4199: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出るFixed(完了)Shinichi Urabe2017-05-26

操作

kaoru n さんが10年以上前に更新

  • 関連している Bug(バグ) #1780: php ./symfony openpne:install時にエラーが出る を追加

kaoru n さんが7年以上前に更新

取り急ぎの回避策→ http://sns.openpne.jp/communityTopic/603

registerChannel('pear.symfony-project.com') してるところを通らないようにする方法を教えてもらいましたので共有します。
※ OpenPNE-3.8.23 インストールと opPlugin:install で opCommunityTopickPlugin インストールして軽く動作確認しかしてないです。

====================
--- a/lib/plugin/opPluginManager.class.php
+++ b/lib/plugin/opPluginManager.class.php
@@ -54,6 +54,13 @@ class opPluginManager extends sfSymfonyPluginManager
catch (sfPluginException $e) {}
}

+ public function configure()
+ {
+ // register callbacks to manage web content
+ $this->dispatcher->connect('plugin.post_install', array($this, 'listenToPluginPostInstall'));
+ $this->dispatcher->connect('plugin.post_uninstall', array($this, 'listenToPluginPostUninstall'));
+ }
+
public function getChannel()
{
return $this->getEnvironment()->getRegistry()->getChannel($this->channel);
====================

Shinichi Urabe さんが7年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Shinichi Urabe にセット

#3603-2 の修正が妥当かを含めて調査

Shinichi Urabe さんが7年以上前に更新

opPluginManager::configure() を定義し、 parent::configure() つまり sfSymfonyPluginManager::configure() を呼ばない処理としている。

  • sfSymfonyPluginManager::configure() においては以下の処理がある
    • $this->environment->registerChannel('pear.symfony-project.com', true);
    • $this->environment->registerChannel('plugins.symfony-project.org', true);
    • $this->registerSymfonyPackage();
    • $this->dispatcher->connect('plugin.post_install', array($this, 'listenToPluginPostInstall'));
    • $this->dispatcher->connect('plugin.post_uninstall', array($this, 'listenToPluginPostUninstall'));
  • そのうち #3603-2 の修正を行うことで呼び出される処理を以下の 2 つとしている
    • $this->dispatcher->connect('plugin.post_install', array($this, 'listenToPluginPostInstall'));
    • $this->dispatcher->connect('plugin.post_uninstall', array($this, 'listenToPluginPostUninstall'));

これらの処理が呼び出されないことで起きる懸念を調査

  • $this->environment->registerChannel('pear.symfony-project.com', true);
  • $this->environment->registerChannel('plugins.symfony-project.org', true);
  • $this->registerSymfonyPackage();

Shinichi Urabe さんが7年以上前に更新

pear.symfony-project.com や plugins.symfony-project.org が落ちた時もだが、設置環境からこれらのドメインの外向けのアクセスを制限しているような環境も当然、インストールできない

Shinichi Urabe さんが7年以上前に更新

symfony の channel サーバ使って、いくつか symfony のプラグインをインストールしようとしたが symfony plugin:install は動かない

$ php symfony plugin:install sfImageTransformPlugin
>> plugin    installing plugin "sfImageTransformPlugin" 

  No release available for plugin "sfImageTransformPlugin"  

$ php symfony plugin:install sfDoctrineGuardPlugin
>> plugin    installing plugin "sfDoctrineGuardPlugin" 

  No release available for plugin "sfDoctrineGuardPlugin"  

Shinichi Urabe さんが7年以上前に更新

opPluginManager::configure() が呼ばれる機能

  • openpne:install
  • openpne:fast-install
  • opPlugin:install
  • opPlugin:uninstall

これらの機能において以下が呼び出されなくても、動作は問題ない

  • $this->environment->registerChannel('pear.symfony-project.com', true);
  • $this->environment->registerChannel('plugins.symfony-project.org', true);
  • $this->registerSymfonyPackage();

Shinichi Urabe さんが7年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

Shinichi Urabe さんが7年以上前に更新

  • 説明 を更新 (差分)
  • 対象バージョンOpenPNE 3.9.0 にセット

Shinichi Urabe さんが7年以上前に更新

Shinichi Urabe さんが7年以上前に更新

Rimpei Ogawa さんが7年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

kaoru n さんがほぼ7年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

マージしました

他の形式にエクスポート: Atom PDF