hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

17年10月24日(Tue) 11時32分
TOP » フォーラム » XOOPS » XOOPS一般 » Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗

Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2017-9-23 17:41
souhalt 

Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗します。
以下、不具合の詳細。宜しく御検討願います。

▼操作手順概要

XOOPS X ログイン (localhost/Windows: テスト環境)

「管理者メニュー」

●PHPの設定
セーフモード : オフ
最大実行時間 : 30 sec.
メモリ制限 : 128Mb
表示エラー : オン
ショートオープンタグ : オン
ファイルをアップロード : オン ( アップロード最大ファイルサイズ:2M, Post最大サイズ:8M )
マジッククオート : オン
グローバル変数の登録 : オフ
出力バッファリング : オフ
open_basedir : オン
url_fopenを許可 : オフ
DOMの拡張 : はい
exifの拡張 : はい
gettextの拡張 : はい
JSONの拡張 : はい
XMLを有効 : はい
Curlの拡張 : はい
Zlibを有効 : はい
Soapの拡張 : はい
Mbstringを有効 : はい
Iconvの利用 : はい
GDの拡張 : はい
GD Version: bundled (2.0.34 compatible)
GDの拡張 Image create Truecolor


「導入・アップデート管理」 (xupdate) → 「一般設定」で、「デバグ出力を表示する」を「はい」に設定

例えば、picoを選択した場合 (他のどのモジュールを選択しても同様の不具合が発生)

「取得して配置」

●ファイルの解凍(展開)に失敗 (以下の記述では、セキュリティの関係上 ...xoops_trust_path → {xoops_trust_path} に置換しています)

   圧縮ファイルダウンロード・展開用フォルダ {xoops_trust_path}\uploads\xupdate (フォルダ権限チェック結果 OK)
   cURL Extension (PHPエクステンションチェック結果 OK)
   (FTP設定チェック結果 OK)
   PHP 実行時間制限 (300s OK)

パッケージを取得しています。
unzip: Archive: {xoops_trust_path}/uploads/xupdate/pico.zip 2d34ee1c6d8566cdbeadbcb270e7a15c8a20eb2d
unzip error: caution: filename not matched: homepage caution: filename not matched: communis caution: filename not matched: xoops_trust_path caution: filename not matched: uploads caution: filename not matched: xupdate caution: filename not matched: pico
extract error.
ファイルの解凍(展開)に失敗しました。
一時ファイルを削除しています。
エラー
downloaded in: {xoops_trust_path}/uploads/xupdate
multi download start: 1 to 1
curl_init OK (http://hpwb.net/2fnQiJt (github.com)
set extractor: _unzipFile_Unzip
Srart extract into {xoops_trust_path}\uploads\xupdate\pico.
removing directory: {xoops_trust_path}\uploads\xupdate\pico
unzip: Archive: {xoops_trust_path}/uploads/xupdate/pico.zip 2d34ee1c6d8566cdbeadbcb270e7a15c8a20eb2d
unzip error: caution: filename not matched: homepage caution: filename not matched: communis caution: filename not matched: xoops_trust_path caution: filename not matched: uploads caution: filename not matched: xupdate caution: filename not matched: pico
extract error.
ファイルの解凍(展開)に失敗しました。


'unzip error:' を含むファイルを検索すると、{xoops_trust_path}\modules\xupdate\include\FtpCommonFileArchive.class.php がヒット。

{xoops_trust_path}\modules\xupdate\include\FtpCommonFileArchive.class.php 104行目付近を下記のように編集し、再度「取得して配置」すると...

	$this->procExec('unzip ' . $downloadFilePath . ' -d ' . $exploredDirPath, $o, $c, $e);
	;;error_log("# $c '$downloadFilePath' '$exploredDirPath'", 0);

→phpのerror.log: # 11 '{xoops_trust_path}/uploads/xupdate/pico.zip' '{xoops_trust_path}\uploads\xupdate\pico'
→unzip.exeの終了コード: 11 (no matching files were found.)
→Windows上のunzip.exeで、解凍できないようです。


暫定対策として、unzip.exeをリネームし、再度「取得して配置」すると...

pico をインストールします。よろしいですか?
→picoの「取得して配置」が完了し、インストール可能になりました。

しかし、これでは困ったことに、Windows上でunzip.exeが使えません。 ;(

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-23 17:45
souhalt 

(追加情報)

▼テスト環境/ファイルセット (php/mysqlの版数は、アップロード予定のサーバに合わせています)

Windows7 HP SP1 x86_64

tp://ftp.info-zip.org/pub/infozip/win32/unz600xn.exe
→終了コード: ttp://www.info-zip.org/mans/unzip.html#DIAGNOSTICS
→終了コード: 11 (no matching files were found.)

tp://ftp.info-zip.org/pub/infozip/win32/zip300xn.zip
ttp://downloads.activestate.com/ActivePerl/releases/5.24.1.2402/ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
ttps://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-3-Q16-x64-dll.exe

ttps://www.microsoft.com/ja-jp/download/details.aspx?id=48145
→ファイル選択: vc_redist.x86.exe

ttp://www.apachelounge.com/download/VC15/binaries/ttpd-2.4.27-Win32-VC15.zip
ttp://www.apachelounge.com/download/win32/modules-2.4/php5apache2_4.dll-php-5.2-win32.zip
ttp://windows.php.net/downloads/releases/archives/php-5.2.14-Win32-VC6-x86.zip
ttps://downloads.mysql.com/archives/get/file/mysql-5.5.42-win32.zip

ttps://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip
→パッチ適用: ttp://www.yuanzhexi.com/post-241.html

ttps://github.com/XoopsX/legacy/archive/stable.zip

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-23 18:08
souhalt 

(訂正)

引用:

ttp://www.apachelounge.com/download/VC15/binaries/ttpd-2.4.27-Win32-VC15.zip

ttp://www.apachelounge.com/download/VC15/binaries/httpd-2.4.27-Win32-VC15.zip

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-9-24 11:48
souhalt 

(最新版)

引用:

ttps://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-3-Q16-x64-dll.exe

ttps://www.imagemagick.org/script/download.php#windows
ttps://www.imagemagick.org/download/binaries/ImageMagick-7.0.7-4-Q16-x64-dll.exe

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-25 9:29
nao-pon  Webmaster 居住地: 愛知県  投稿数: 5752

souhalt さん、こんにちは。

引用:

→phpのerror.log: # 11 '{xoops_trust_path}/uploads/xupdate/pico.zip' '{xoops_trust_path}\uploads\xupdate\pico'

$exploredDirPath のパス区切りがバックスラッシュになっていることが原因かも知れません。確認してみます。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-25 9:39
nao-pon  Webmaster 居住地: 愛知県  投稿数: 5752

FtpCommonFileArchive.class.php の 17行目と19行目をそれぞれ次のように変更すると如何でしょうか。

17
$downloadDirPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->Xupdate->params['temp_path']));
19
$exploredDirPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($downloadDirPath.'/'.$this->target_key));
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-25 19:23
souhalt 

御提案のパッチを適用すると、上記不具合が解消するようです。
unzip.exeも、Windows上に設置して、制限なく使えるようです。

Windowsテスト環境からLinux/Unix系運用環境へ、そのままアップロードする予定なので、
Windows環境でもLinux/Unix系環境でも共通で使用可能であれば、このパッチで満足です。 :-)

ところで、一つ不思議に思ったことがあります。
「導入・アップデート管理」 (xupdate) → 「ストア一覧」で、モジュール名が青色から灰色に変わるタイミングについて。

・未取得のモジュール名は、青色
・一回目の「取得して配置」 (インストール) では、青色のまま (ページを再読み込みしても同じ)
・二回目の「取得して配置」 (アップデート) で、灰色になる

一回目の「取得して配置」 (インストール) で、灰色になるのかと思ったら、そうではないようですね?
キャッシュの関係でしょうか。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-29 18:18
souhalt 

一回目の「取得して配置」 (インストール) で色が変わらないと、インストール済みかどうか一目で分かりません。
間違って、必要がないのに、二回目の「取得して配置」 (アップデート) を実行してしまいます。

そこで、試行錯誤したところ、 {xoops_trust_path}\modules\xupdate\class\handler\ModuleStore.class.php 520行目付近を下記のように改変すると...

	//            $mobj->setmModule(false);//判定用のインストール済みのモジュール情報の保持を追加
	;;            $mobj->setmModule();//判定用のインストール済みのモジュール情報の保持を追加

一回目の「取得して配置」 (インストール) で、灰色になるようです。

ただし、改変前についても、改変後についても、その意味を理解しているわけではないので、この改変が果たして妥当なのかどうか、判断できません。
「判定用のインストール済みのモジュール情報の保持を追加」という経緯も知りません。
何か問題があるか、不都合・副作用があるかどうか分からないし、確認していません。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-9-29 21:12
nao-pon  Webmaster 居住地: 愛知県  投稿数: 5752

ありがとうございます!その部分は私が実装したような気もするけど、別の人かも・・・。

記憶が曖昧で・・・。ソースを見てもはっきりと思い出せないのですが、フラグを付けて処理をしているということは、何かしらの意味があって行っていると思います。

原因は、初期インストール完了後にインストール済みフラグを立てていないことだと思うのですが、もう一度ソースを精査しないとどこを修正すべきかが分からないので、ちょっと時間が掛かると思いますが、検証してみようと思います。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-2 16:25
souhalt 
引用:

原因は、初期インストール完了後にインストール済みフラグを立てていないことだと思うのですが、もう一度ソースを精査しないとどこを修正すべきかが分からないので、ちょっと時間が掛かると思いますが、検証してみようと思います。

一回目の「取得して配置」 (インストール) の直後に、インストール済みかどうか一目で分かるようにしていただけると幸いです。

御多忙だとは思いますが、宜しく御検討をお願い致します。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-2 23:41
nao-pon  Webmaster 居住地: 愛知県  投稿数: 5752

若干のタイムラグはありますが、ちょっと修正してみました。このスレッドのWindows サーバーでの問題も合わせて X-update 0.72.1 としました。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 16:20
souhalt 

下記パッチを適用するか、X-update 0.72.1 にアップデートすることにより、下記の不具合が解消しました。 :-)

(1) Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗するという不具合の対策

{xoops_trust_path}\modules\xupdate\include\FtpCommonFileArchive.class.php 17行目付近

	;;//        $downloadDirPath = realpath($this->Xupdate->params['temp_path']);
	;;        $downloadDirPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->Xupdate->params['temp_path']));
	        $downloadFilePath = $this->Xupdate->params['temp_path'].'/'.$this->download_file;
	;;//        $exploredDirPath = realpath($downloadDirPath.'/'.$this->target_key);
	;;        $exploredDirPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($downloadDirPath.'/'.$this->target_key));

(2) 一回目の「取得して配置」 (インストール) の直後の「ストア一覧」で、モジュール名が青色から灰色に変わらないという不具合の対策

{xoops_trust_path}\modules\xupdate\preload\AssetPreload.class.php 71行目付近

	;;//        $this->mRoot->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.Success', array(&$this, '_setNeedCacheRemake'));
	;;        $this->mRoot->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.Success', array(&$this, '_setNeedCacheRemakeOnInstall'));

{xoops_trust_path}\modules\xupdate\preload\AssetPreload.class.php 125行目付近

	    public function _setNeedCacheRemake()
	    {
	        $handler = Legacy_Utils::getModuleHandler('store', 'xupdate');
	        $handler->setNeedCacheRemake();
	    }
	
	    public function _setNeedCacheRemakeOnInstall()
	    {
	;;        $handler = Legacy_Utils::getModuleHandler('store', 'xupdate');
	;;        $handler->setNeedCacheRemake(true);
	    }
	
	    /**
	     * getManager

これで、各モジュールなどをインストールして、動作を見ていきたいと思います。
また何か気になる点があった場合は、宜しくお願い致します。

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文

  条件検索へ

このカテゴリのトピック一覧
  1. PHP5.3 から PHP7.1 にするとpiCalがエラー(7) ropie 2017-10-22 0:37
  2. Xoopsサイトの完全ssl化について(8) nao-pon 2017-10-14 0:23
  3. SSL設定でwebphotのGoogle Mapsが表示できません。(3) nao-pon 2017-10-12 23:51
  4. Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗(11) souhalt 2017-10-4 16:20
  5. TOPページが開くのですがそれから固まり「応答していません」と出ます。(3) nao-pon 2017-9-11 19:50
  6. リダイレクト画面から遷移しない(1) studiop 2017-9-4 12:11
  7. LightBoxがLightboxが利かない。(1) satokazu 2017-8-29 12:28
  8. picoとCKEditorのバグ?(1) ゲスト 2017-8-7 15:44
  9. vendor アップデート(2) kf-user 2017-7-11 22:13
  10. プロフィール編集について(4) rodeo 2017-7-3 10:03
このフォーラムのトピック一覧
  1. PHP5.3 から PHP7.1 にするとpiCalがエラー(7) ropie 2017-10-22 0:37
  2. Xoopsサイトの完全ssl化について(8) nao-pon 2017-10-14 0:23
  3. SSL設定でwebphotのGoogle Mapsが表示できません。(3) nao-pon 2017-10-12 23:51
  4. Windows上でunzip.exeを設置していると、xupdateで「取得して配置」に失敗(11) souhalt 2017-10-4 16:20
  5. TOPページが開くのですがそれから固まり「応答していません」と出ます。(3) nao-pon 2017-9-11 19:50
  6. リダイレクト画面から遷移しない(1) studiop 2017-9-4 12:11
  7. LightBoxがLightboxが利かない。(1) satokazu 2017-8-29 12:28
  8. picoとCKEditorのバグ?(1) ゲスト 2017-8-7 15:44
  9. プロフィール編集について(4) rodeo 2017-7-3 10:03
  10. 時間設定がうまくいきません(1) ゲスト 2017-6-19 9:18
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

新規登録 | パスワード紛失



メインメニュー
ブックマーク
オンサイトブックマークは
ログインするとご利用になれます
[ログインする]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 60 人がオンライン中 :-)
(フォーラム : 3 人)

登録ユーザ: 0 & ゲスト: 60

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4470


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報