学校等教育機関向けCMSとしてNetCommonsを提供する活動は、一般社団法人「教育のための科学研究所」(代表理事・所長 新井紀子)が提供するedumapに引き継がれました。

edumapに関するプレスリリースは、こちらをお読みください。

edumapは学校等(幼稚園・保育園・インターナショナルスクールを含む)に対して、原則無償でNetCommons3をベースとした学校ウェブサイトを提供する事業です。既に鴻巣市、伊東市、東根市、那須町、蕨市、所沢市、芦屋市、紋別市、立山町、二宮町、稚内市、桶川市等を中心に820校以上にedumapをご利用いただいています。

特に、メンテナンスを終了したNetCommons2をご利用の教育機関のユーザは至急edumapに移行することをご検討ください。

システムエンジニアの方で、NetCommons3をご利用の方はGitHub上のNetCommons3サイトをご活用ください。

一覧に戻る

NC3.2.1.1で画像の投稿が内部エラーで失敗する(ImagickException、Windows)

投稿: Unknown (2018/11/26)

3.2.1.1に更新する際にアバター表示がおかしくなる現象に遭遇し、PHPでImageMagickを使用できるようにして解消しました。そうすると、キャビネットや掲示板への画像貼付時に内部エラーで失敗します(アップロードできない。ただし、\app\Uploads\files\upload_file\real_file_nameには実ファイルがアップロードされている)。

内部エラー発生時の error.log には、以下の記述があります。


2018-11-26 03:42:32 Error: [ImagickException] UnableToOpenBlob `files\upload_file\real_file_name\17\188\2a・・・.jpg': No such file or directory @ error/blob.c/OpenBlob/2702
Request URL: /・・/cabinets/cabinet_files_edit/add/29/parent_id:132?frame_id=39


思うに(Windowsの場合)絶対パスでファイル名を指定すれば解消するような気がしますが、そうした解決策は取り得ないでしょうか。

ほかにも何か分かる方がいらっしゃれば、ご意見を伺えればと思います。

 

※NC3.1.7の時もImageMagickを使用可能にするとこうなっていましたが、アバターを必要としていなかったため、使用不可に戻して使っていたという経緯があります。

環境:Windows Server 2012 R2, xampp-win32-7.0.28-0-VC14 (Apache 2.4.29 / MariaDB 10.1.31 / PHP 7.0.28)

Re: NC3.2.1.1で画像の投稿が内部エラーで失敗する(ImagickException、Windows)

投稿: Unknown (2018/11/30)

結局、この問題は https://nc2.netcommons.org/bbip8a9u8-18477/#_18477 で エディ・ケイ ささき さんが書かれているものと同じだということが分かり、OSは違いますが、私も以下の方法で解消しました。


\app\Plugin\Upload\Model\Behavior\UploadBehavior.php 内の1920行目を、
$method = $this->settings[$model->alias][$field]['thumbnailMethod']; から
$method = "_resizePhp"; に変更する。

 ※protected function _createThumbnails 内の記述


\app\Uploads\files\upload_file\real_file_name内のファイルについて、ImageMagickにコマンドラインでファイルのリサイズをさせるとうまくいくことから、ImageMagickの処理の問題というよりはImageMagickへのファイルパスの渡し方に問題があるのではないでしょうか(ImageMagickはNCのドキュメントルートの存在を知らない)。

逆に、問題なく動いている環境だとどうしてうまくいっているのかがよくわかりませんが・・

蛇足ですが、NC3.1.9でIE/Edgeでキャビネットファイルダウンロード時に文字化けする問題も解消していますし、今回ImageMagickの件(ImageMagickを使うと画像添付不可/使わないとアバター使用不可)も解消したので、ホスト/クライアント共にWindowsの環境では使いやすくなったと思っています。

ありがとうございました。

3.2.1.1に更新する際にアバター表示がおかしくなる現象に遭遇し、PHPでImageMagickを使用できるようにして解消しました。そうすると、キャビネットや掲示板への画像貼付時に内部エラーで失敗します(アップロードできない。ただし、\app\Uploads\files\upload_file\real_file_nameには実ファイルがアップロードされている)。

内部エラー発生時の error.log には、以下の記述があります。


2018-11-26 03:42:32 Error: [ImagickException] UnableToOpenBlob `files\upload_file\real_file_name\17\188\2a・・・.jpg': No such file or directory @ error/blob.c/OpenBlob/2702
Request URL: /・・/cabinets/cabinet_files_edit/add/29/parent_id:132?frame_id=39


思うに(Windowsの場合)絶対パスでファイル名を指定すれば解消するような気がしますが、そうした解決策は取り得ないでしょうか。

ほかにも何か分かる方がいらっしゃれば、ご意見を伺えればと思います。

 

※NC3.1.7の時もImageMagickを使用可能にするとこうなっていましたが、アバターを必要としていなかったため、使用不可に戻して使っていたという経緯があります。

環境:Windows Server 2012 R2, xampp-win32-7.0.28-0-VC14 (Apache 2.4.29 / MariaDB 10.1.31 / PHP 7.0.28)

サイト内の検索はこちらから。

 

 

 

保存

保存

保存

保存

保存

保存