Actions
Bug(バグ) #1780
closedphp ./symfony openpne:install時にエラーが出る
Start date:
2010-11-11
Due date:
% Done:
100%
Estimated time:
3.6 で発生するか:
No
3.8 で発生するか:
Unknown (未調査)
Description
http://sns.openpne.jp/diary/25547 より転記
サーバ:試験用のWindows XPの普通のノートPC 下記インストール済み、動作確認OK Apacche 2.2.17 MySQL 5.1.52 PHP 5.3.3 OpenPNEは3.4.8をDLして、D:\OpenPNEに展開した。 あとは、セットアップなんだけど php ./symfony openpne:install でエラーが出て先に進めず。エラー内容解析中。
Updated by Mutsumi Imamura over 13 years ago
- Priority changed from Normal(通常) to High(高め)
- Target version set to OpenPNE 3.7.0
報告元の追加報告を転記します。
pnetanさん、kit.tさん すみません、しばらくこのサイトにこられず放置状態でしたm(_ _)m kit.tさん config以下のファイルのコピーはすませて、base_urlとhttp_proxyの設定は書き換えてあります。 エラーの内容は =============ここから============= The DBMS : mysql The Database Username : xxxxxxxx The Database Password : ****** The Database Hostname : localhost The Database Port Number : The Database Name : openpne The Database Socket : Is it OK to start this task? (Y/n) Y >> sfPearFrontendPlugin Attempting to discover channel "plugins.openpne.jp"... >> sfPearFrontendPlugin Attempting to discover channel "pear.symfony-project.com "... Unable to register channel "pear.symfony-project.com" =============ここまで============= なので、pear.symfony-project.comでchannel登録が出来ません。ですね、サーバーはイントラネット内に置いてあるので、PROXYの問題が考えられます。試験的にネット環境を変えて再度トライしてみようと思います。
Updated by isao sano over 13 years ago
- Subject changed from 作業日記 to php ./symfony openpne:install時にエラーが出る
Updated by Shingo Yamada about 13 years ago
- Assignee set to Yuya Watanabe
プラグインチャンネルサーバに繋げない環境でも、何らかの形でインストールが正常に行える様に修正をお願いします。
Updated by Yuya Watanabe about 13 years ago
- Status changed from New(新規) to Accepted(着手)
Updated by Yuya Watanabe about 13 years ago
処理の流れ¶
問題であると思われるまでの処理の流れを記述する.
- OpenPNEインストール時にlib/task/opPluginSyncTask.class.phpが実行される.
- opPluginSyncTaskクラスにおいて
- config/OpenPNE.yml内plugin_list_base_urlの値にあるURLからプラグインリストを取得する,
- それぞれのプラグインのlib/task/opPluginInstallTask.class.phpのインスタンスが生成され,実行される.
- opPluginInstallTaskクラスexecute()メソッドにおいて
- チャンネルサーバの設定を確認する.設定はconfig/OpenPNE.yml内default_plugin_channel_serverの値を用いる.
- lib/plugin/opPluginManager.class.phpを生成する.
- opPluginManagerクラス__construct()において
- lib/vendor/symfony/lib/plugin/sfPearEnvironment.class.phpのregisterChannel()を用いてチャンネルサーバを登録しようとする.
- 同クラス内registerOpenPNEPackage()を呼び出す.
原因¶
処理の流れ4-2の部分でチャンネルサーバに接続できないためOpenPNEのパッケージ登録に失敗することで発生しているsfPluginExceptionを拾う部分がないためOpenPNEインストールタスク全体が停止する.
原因の発生源¶
上記問題箇所は以下のような流れで発生している.
- 7c851276 チャンネル登録部分が追加される.
- 7b2d8f45 チャンネル登録時の例外処理を追加される.
- 3c19fa17 OpenPNEのパッケージ登録部分の追加(本チケットにおける問題を発生する例外を投げる部分)
実装方針¶
本チケットの問題を解決するにはOpenPNEインストールタスク全体が停止しないようにする必要がある.ここではプラグインインストールが失敗するという粒度にすることが適切であると思われるため,処理の流れ2-2の呼び出し部分より深い部分で例外処理を行うべきである.
プラグインチャンネルサーバにつながらないという原因の場合,例外の発生源として以下の場所が考えられる.
- 処理の流れ4-2でOpenPNEのパッケージ登録に失敗すること投げられるsfPluginException
- 処理の流れ4-1でチャンネルを登録できないときに投げられるsfPluginException(対処済み)
後者の発生源は例外に対して処理が施されているが 7b2d8f45 において何らかの問題を解決するためにすでに深い階層部分で例外処理を行う修正が行われている.
そのため例外を拾う部分はopPluginManagerクラス__construct()内となる4-2で例外処理を行うことが妥当であると思われる.
Updated by wa ta about 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 fa42821448ce1ecaef508140fca28463827beee9 で適用されました。
Updated by Yuya Watanabe about 13 years ago
note-10適用後では処理の流れ2-2においてsfCommandExceptionが発生し,これを拾う処理がなされるようになる.
これは引数のoptionに--force-licenceを付与することで発生しないようにすることもできるが,適切かどうかの判断はまだ行っていない.
Updated by Yuya Watanabe about 13 years ago
Updated by Kousuke Ebihara about 13 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
Updated by Mutsumi Imamura about 13 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
Updated by kaoru n over 10 years ago
- Related to Bug(バグ) #3603: pear.symfony-project.com に接続できない時、php ./symfony openpne:install時にエラーが出る added
Actions