XPressME Integration Kit Ver2.4.4の自動更新
永らくありがとうございました › フォーラム › インストール › XPressME Integration Kit Ver2.4.4の自動更新
- このトピックには13件の返信、2人の参加者があり、最後に
匿名により8年、 8ヶ月前に更新されました。
-
投稿者投稿
-
2012 年 6 月 23 日 4:38 PM #2690
匿名
ゲストこんばんは。
XPressME Integration Kit Ver2.4.4に自動更新しようとすると、以下の表示が出て更新できません。
何か手順(WordPressを先にバージョンアップしないといけないとか)がありますでしょうか?
現在のバージョンは、
XPressME Version::2.42
WordPress Version::3.3.2
です。
お手数おかけしますが、よろしくお願い致します。
-----------------------------
XPressME Integration Kit の更新
http://ja.xpressme.info/wp-content/plugins/download-monitor/download.php?id=122からアップデートをダウロードしています…
パッケージを展開しています。
パッケージの構成が異なっています。
インストールに失敗しました
-----------------------------
2012 年 6 月 24 日 1:07 PM #3366toemon
キーマスターheijiさんお久しぶりです。
ちょっと旅行に出ていたので確認がおくれました。
XPressME Version::2.42
WordPress Version::3.3.2
の構成からのXPressME自動アップデートを確認してみましたが、特に問題なくアップデートが行われます。
パッケージの構成が異なっています。
のエラーメッセージはパッケージの展開後に展開したディレクトリが見つからない場合に発生します、また
XPressMEの自動更新におけるファイル操作の仕組みはWordPress2.8以降で追加されたWordPress自動更新の仕組みを利用して行っていますので、
WordPress側の自動更新が出来る環境(FTPクライアントを使わずにブラウザ上から)ようであれは、XPressMEの自動更新も可能となります。
これまでに、何度か自動更新されているようであれば、
XPressMEパッケージのダウンロードミスが考えられますので、再度、自動更新を試していただけますようお願いいたします。
何か手順(WordPressを先にバージョンアップしないといけないとか)がありますでしょうか?
こちらのお問い合わせにつきましては特に順番とかはありませんが、今回のXPressME2.4.4はWordPress3.4利用時のバグ対策が含まれますので、WordPress3.4にアップグレードされる前に、XPressME側をアップグレードしておいた方がよいと思います。
2012 年 6 月 24 日 3:07 PM #3367匿名
ゲストtoemonさん
こんばんは。
お返事ありがとうございます。
その後、モジュールアップデートにも失敗することが分かり、その際のエラーメッセージから、サーバを移転してから、「2.XPressMEモジュールの /templatesディレクトリと、wp-contentsディレクトリのパーミッションを777に変更」を忘れていたことに気づきました。で、モジュールアップデートは成功するようになったのですが、自動アップデートは失敗するままです。。。
/wp-content/upgrade/配下に、
download.tmp/XPressME_Integration_Kit_Ver2.4.4/xpressme_integration_kit/・・・
のファイルが一瞬生成されて消えることまでは確認できたので、メッセージ通りダウンロードは成功しているようです。が、何度やっても同じです。
> パッケージの展開後に展開したディレクトリが見つからない場合に発生します
これは、どのディレクトリが存在することをチェックしているのでしょうか?
前述の通り、/wp-content/upgrade/配下に、一応、ファイルは一瞬生成されています。メッセージの内容からすると、何かファイルが足りないということですよね???
> 今回のXPressME2.4.4はWordPress3.4利用時のバグ対策が含まれますので、WordPress3.4にアップグレードされる前に、XPressME側をアップグレードしておいた方がよいと思います。
と思って、WordPress側の自動アップデートは保留しています。
また、/wp-content/upgrade/も777にしてみましたが特に変化ありません。
> これまでに、何度か自動更新されているようであれば、
これに関してはサーバ移転してから実行したかどうか記憶が定かではありません。
曖昧で申し訳ないです。
現在、運用には困っておりませんので緊急度はありませんが、今後、自動アップデートが行えないというのも不便ですので、何とか切り分けたいと思っています。
確認すべきものが思いつきましたら、お手すきのときにでも教えていただけると助かります。
毎度お手数おかけして申し訳ありません。
よろしくお願い致します。
2012 年 6 月 25 日 3:46 AM #3368toemon
キーマスターうむー
当方での再現ができないので、解析の協力をお願いいたします。
まず、パッケージが正しく展開されているか確認するために、
現在のサーバー上にある、XPressMEモジュールの、
wp-content/plugins/xpressme/include/class-xpress-upgrader.php
53行目
<code>if (empty($kit_dir)){<br /> $wp_filesystem->delete($working_dir, true);<br /> return new WP_Error('package_wrong', $this->strings['package_wrong']);<br /> }</code>
を
<code>if (empty($kit_dir)){<br /> // $wp_filesystem->delete($working_dir, true);<br /> return new WP_Error('package_wrong', $this->strings['package_wrong']."($working_dir)");<br /> }</code>
に変更してください。
これで、展開に失敗しても、wp-content/upgrade/配下に展開されたファイルが消えなくなります。
また、エラーメッセージに括弧書きで、作業ディレクトリ名が表示されるようになります。
この状態で自動更新を行っていただき、wp-content/upgrade/配下のディレクトリ・ツリー構造、及び、作業ディレクトリ名を教えていただけないでしょうか
あと、サーバー移転されたということですが、一度システム情報(レポート形式)の提供をお願いいたします。
2012 年 6 月 25 日 8:47 AM #3369toemon
キーマスター追記
WordPress側の自動アップデートは保留しています。
もしwordpress3.4を試したり、Ver2.4.4のバグフィクスを適応しておき、モジュールの自動更新だけをチェックするのであれば
ダウンロードしたXPressME Integration Kit Ver.2.4.4のモジュールルートのxoops_version.phpの85行目
<code>$modversion['version'] = "2.44";</code>
の部分を
<code>$modversion['version'] = "2.42";</code>
に変更した後、すべてのファイルディレクトリをFTPアップロードしておくことで、
XPressMEモジュールの見かけ上のバージョンを下げて、モジュールの自動更新だけを試すことも出来ます。
まぁ、その方が、WordPress側の自動更新自体が正常に動作しているのか確認できますので、良いかもしれません。
2012 年 6 月 25 日 3:16 PM #3370匿名
ゲストtoemonさん
ありがとうございます。
原因が分かったような気がします。
が、どうやって修正すればよいかが分かりません。
XOOPS_ROOT_PATH /usr/local/pem/vhosts/1*****/webspace/httpdocs/********.com
なのですが、FTPのルートと上記のルートは一致せず、教えていただいた修正で表示される、作業ディレクトリ名は、
/webspace/httpdocs/********.com/modules/xpress/wp-content/upgrade/download.tmp
となっています。
これが原因で、展開したファイルが見つからないのではないでしょうか?
class-xpress-upgrader.phpにて、$working_dirに上記ディレクトリ名をべた打ちすれば直るような気もしますが、それで自動更新が成功してしまうと、toemonさんに正規の修正方法を教えていただいてから試せなくなってしまうので、とりあえずお返事を待ちたいと思います。
よろしくお願い致します。
2012 年 6 月 25 日 3:21 PM #3371匿名
ゲストtoemonさん
私の推測が的外れだった場合に備えて、一応、その他の情報をお知らせえしておきます。
・download.tmp配下には、XPressME_Integration_Kit_Ver2.4.4ができ、その下にはちゃんとファイルが展開されているようです。
・システム情報(レポート形式)は以下です。
******** システム情報********
SERVER: Apache/2.2.11 (Unix) PHP/5.2.9 FrontPage/5.0.2.2635
PHP Version: 5.2.9
libxml Version: 2.6.26
MySQL Version: 5.0.83-community
XOOPS Version: XOOPS Cube Legacy 2.2
XPressME Version: 2.42
WordPress Version: 3.3.2
WP DB Version: 19470
safemode: OFF
register_globals: OFF
allow_url_fopen: ON
magic_quotes_gpc: OFF
XML extension: ON
default memory_limit: 24M
change memory_limit: 64M
post_max_size: 8M
upload_max_filesize: 10M
display_errors: OFF
MB extension: ON
mbstring.language: japanese
mbstring.encoding_translation: OFF
mbstring.internal_encoding: UTF-8
mbstring.http_input: pass
mbstring.http_output: pass
mbstring.detect_order:
mbstring.substitute_character: none
mbstring.func_overload: OFF
******** XPressMEがXOOPSより取得した設定値********
XOOPS_ROOT_PATH: OK
XOOPS_TRUST_PATH: OK
XOOPS_URL: OK
XOOPS_SALT: OK
XOOPS_DB_HOST: OK
XOOPS_DB_USER: OK
XOOPS_DB_PASS: OK
XOOPS_DB_NAME: OK
XOOPS_DB_PREFIX: OK
******** WordPressで使用中のプラグイン********
WP Posts List Ex for XPressME: Version 1.0: (http://exsample.com)
WP Multibyte Patch: Version 1.5.1: (http://eastcoder.com/code/wp-multibyte-patch/)
Plugin for XPressME: Version 1.0: (http://ja.xpressme.info)
******** ブロックステータス********
最近の記事内容: OK
最近の記事: OK
人気記事リスト: OK
ページ: OK
最近のコメント: OK
サイドバー: OK
検索: OK
カレンダー: OK
アーカイブ: OK
投稿者: OK
タグクラウド: OK
カテゴリー: OK
メタ情報: OK
ウィジェット: OK
拡張ブロック: OK
******** ブロックオプション********
ウィジェット : xpress||1|
拡張ブロック : xpress||
カテゴリー : xpress||ALL|name|ASC|0|0|1|1|||1|0
メタ情報 : xpress||1|1|1|1|1|1|1|1
タグクラウド : xpress||8|22|pt|45|flat|name|ASC||
カレンダー : xpress||#DB0000|#004D99
アーカイブ : xpress|db:xpress_archives_block.html|postbypost|0|1|0
投稿者 : xpress||0|1|0|1
サイドバー :
検索 : xpress||18
最近のコメント : xpress||10|30|||0
人気記事リスト : xpress||10|0||||0
ページ : xpress||post_title|asc||||0|0|none||1||
最近の記事内容 : xpress||10|0|100||||0|0|0
最近の記事 : xpress||10|1|7||||0
******** グループ権限********
サイト管理者 : (module_admin) : administrator(No) :
登録ユーザ : (module_admin) : administrator(No) :
******** ユーザーメタ情報********
ユーザーメタキーは正常です
******** ●●統計********
カテゴリー数: 45
記事数: 115
投稿者数: 2
2012 年 6 月 26 日 4:16 AM #3372toemon
キーマスター1.
download.tmp配下には、XPressME_Integration_Kit_Ver2.4.4ができ、その下にはちゃんとファイルが展開されているようです。
***/wp-content/upgrade/download.tmp/XPressME_Integration_Kit_Ver2.4.4/xpressme_integration_kit/** という構成でしょうか?
2.
あと、もしレンタルサーバーということであれば、サーバー屋さんを教えていただけないでしょうか? お試し期間があるようなら、当方で構築確認してみます。
3.
WordPressの自動更新は正常に行われるのでしょうか?
XPressME_Integration_Kit_Ver2.4.2to2.4.4.zipよりアップグレード用の差分ファイルをダウンロードいただき、展開の後、モジュールルートのxoops_version.phpを除くすべてを、FTPクライアントにてサーバー上のXPressMEモジュールルートにアップロードしていただければ、WordPress3.4へアップグレードしても問題有りません。
4.
それで自動更新が成功してしまうと、toemonさんに正規の修正方法を教えていただいてから試せなくなってしまうので
一旦、アップデートした後でも、
モジュールルートのxoops_version.phpの85行目
$modversionを2.44から2.42変更して再度モジュールアップデートしておけば
自動更新のテスト自体は何度でも行うことが出来ます。
2012 年 6 月 26 日 12:26 PM #3373匿名
ゲストtoemonさん
class-xpress-upgrader.phpの40行目くらいの、
<code>$working_dir = $this->unpack_package( $download );</code>
の直後に、
<code>$working_dir = '/usr/local/pem/vhosts/1*****/webspace/httpdocs/********.com/modules/xpress/wp-content/upgrade/download.tmp/XPressME_Integration_Kit_Ver2.4.4';</code>
を挿入すると、エラーメッセージが、「ファイルがコピーできませんでした。」に変わりました。
元々のコードのままですと、$working_dir が、「/webspace/httpdocs/********.com/modules/xpress/wp-content/upgrade/download.tmp」ですから、
頭に「/usr/local/pem/vhosts/1*****」がない(たぶん、FTPのルートディレクトリより上の部分が欠けています)と、後ろに「XPressME_Integration_Kit_Ver2.4.4」がないのが原因のようです。
※ 上記の「********.com」「1*****」のアスタリスク部分は伏せています。
レンタルサーバーは、Speever(http://www.speever.net/)の、供用サーバプランの「SS-10(Linux)」(http://www.speever.net/plan/shared/detail_ss10.html)です。
業者の都合でコース変更を余儀なくされたのですが、結構厄介なサーバです。
お試し期間は見当たりませんね。。。
こちらでももうちょっと調べて、またご連絡します。
2012 年 6 月 26 日 1:32 PM #3374匿名
ゲストtoemonさん
お世話になります。
とりあえず、class-xpress-upgrader.phpを次のように修正したら、自動更新に成功しました!!
そのあと、class-xpress-upgrader.phpを元に戻して、WordPressの自動更新を行いましたが、正常動作しました。
class-xpress-upgrader.phpの40行目くらいの、
<code>$working_dir = $this->unpack_package( $download );</code>
の直後に、
<code>$working_dir_save = $working_dir;<br /> $working_dir = '/usr/local/pem/vhosts/1*****/webspace/httpdocs/*********.com/modules/xpress/wp-content/upgrade/download.tmp/XPressME_Integration_Kit_Ver2.4.4';</code>
を挿入。
<code>// Copy update-core.php from the new version into place.</code>
の直前に
<code>$working_dir = $working_dir_save;<br /> $kit_dir = $working_dir .'/XPressME_Integration_Kit_Ver2.4.4/xpressme_integration_kit/';</code>
を挿入。
ということで、私が調べた限りでは、以下のようです。
・「/XPressME_Integration_Kit_Ver2.4.4」が足りない。
・wp_filesystem->copy()の引数は、FTPのルートからのディレクトリを渡さないといけないが、is_wp_error()やfile_exists()やempty()の引数はFTPのルートからでなく、サーバの実際のルートからのディレクトリを渡さないといけない。
しかし、べたコーディングではなく、正式のコーディングはどのようにしたらよいかスキル不足で分かりません。。。
> ***/wp-content/upgrade/download.tmp/XPressME_Integration_Kit_Ver2.4.4/xpressme_integration_kit/** という構成でしょうか?
はい。
「XPressME_Integration_Kit_Ver2.4.4」の配下には、「xpressme_integration_kit」と「extras」の2つのディレクトリがあります。
以上、よろしくお願い致します。
2012 年 6 月 26 日 2:36 PM #3375toemon
キーマスター詳しく解析いただきましてありがとうございます。
まさに、FTPルートパスとサーバーパスの相違に起因するようですね。orz
直感で申し訳ないのですが
オリジナルのclass-xpress-upgrader.phpの44行目及び48行目の
file_existsの部分を$wp_filesystem->existsに変更して試してもらえないでしょうか?
44行目
<code>if (!file_exists($kit_dir)){ // search sub dir.</code>
↓
<code>if (!$wp_filesystem->exists($kit_dir)){ // search sub dir.</code>
48行目
<code>if (file_exists($working_dir .'/' .$subdir['name'] .'/xpressme_integration_kit/')){</code>
↓
<code>if ($wp_filesystem->exists($working_dir .'/' .$subdir['name'] .'/xpressme_integration_kit/')){</code>
2012 年 6 月 26 日 2:57 PM #3376匿名
ゲストtoemonさん
ありがとうございます。
> file_existsの部分を$wp_filesystem->existsに変更して試してもらえないでしょうか?
これでばっちりです。
> 一旦、アップデートした後でも、
> モジュールルートのxoops_version.phpの85行目
> $modversionを2.44から2.42変更して再度モジュールアップデートしておけば
> 自動更新のテスト自体は何度でも行うことが出来ます。
上記の方法で再テストして成功しました。
is_wp_error()やempty()は関係なくて、file_exists()を$wp_filesystem->existsにするだけだったんですね。『「/XPressME_Integration_Kit_Ver2.4.4」が足りない。』も関係なかったんですね・・・。
これからもよろしくお願い致します。
2012 年 6 月 26 日 3:29 PM #3377toemon
キーマスターご確認ありがとうございました。
当件の内容は
に登録
チェンジセット 808にて適応させていただきました。
Ver2.4.5より適応いたします。(もう少し他の環境でテストして、問題なければ1,2日中にリリース予定です)
オリジナルのVer2.4.4では自動更新エラーとなりますので、上記の対策は施しておいたままにしてください。
2012 年 6 月 27 日 3:24 PM #3378匿名
ゲストtoemonさん
ありがとうございます。
早速、Ver2.4.5にバージョンアップさせていただきました。
<余談>
また自動アップデートできずにちょっと焦りましたが、Ver2.4.2→Ver2.4.4に自動更新したときに、class-xpress-upgrader.phpが元に戻っていたようです。再適用してVer2.4.4→Ver2.4.5に自動更新しました。
念のため、xoops_version.phpをVer2.4.4に戻して、Ver2.4.4→Ver2.4.5に再度自動更新しました。
OKです。
これからもよろしくお願い致します。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。