Bug(バグ) #3603
pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出る
100%
Description
現象¶
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 に接続を行わないように修正
Subtasks
Related issues
Associated revisions
(refs #3603) Fixed so that installation can be done even if it can not connect to channel server "pear.symfony-project.com", "plugins.symfony-project.org".
History
#1 Updated by kaoru n over 10 years ago
- Related to Bug(バグ) #1780: php ./symfony openpne:install時にエラーが出る added
#2 Updated by kaoru n over 7 years ago
取り急ぎの回避策→ 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); ====================
#3 Updated by Shinichi Urabe over 7 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Shinichi Urabe
#3603-2 の修正が妥当かを含めて調査
#4 Updated by Shinichi Urabe over 7 years ago
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();
#5 Updated by Shinichi Urabe over 7 years ago
pear.symfony-project.com や plugins.symfony-project.org が落ちた時もだが、設置環境からこれらのドメインの外向けのアクセスを制限しているような環境も当然、インストールできない
#6 Updated by Shinichi Urabe over 7 years ago
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"
#7 Updated by Shinichi Urabe over 7 years ago
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();
#8 Updated by Shinichi Urabe over 7 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
#9 Updated by Shinichi Urabe over 7 years ago
- Description updated (diff)
- Target version set to OpenPNE 3.9.0
#10 Updated by Shinichi Urabe over 7 years ago
- Copied to Backport(バックポート) #4198: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出る added
#11 Updated by Shinichi Urabe over 7 years ago
- Copied to Backport(バックポート) #4199: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出る added
#12 Updated by Rimpei Ogawa over 7 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#14 Updated by kaoru n almost 7 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
マージしました