2018.09.01以前、さくらサーバのコントロールパネルの「ファイルマネージャー」でzipファイルを解凍しようとするとエラーが出てしまい、解凍できないトラブルがありました。先日、10年以上運営していた無料ブログをWordPressに移行した時の事です。Flywheel)でテストし、いざさくらのレンタルサーバにア...michinari.work2018.08.21もしかして解凍もダメなら圧縮もダメかも?と思い立ち、さくらのコントロールパネルの「ファイルマネージャー」でフォルダを圧縮しようとしたら、やっぱりエラーになってしまいました。解凍時にエラーが出るのと同じ理由で、ファイルが大きすぎるとタイムアウトになってしまうと思われます。解凍はphpのプログラムを使う事で出来たので、逆のパターン、圧縮する方法もあるはずだと思ったので調べてみました。プログラムを試してみるとうまく行ったので、同じように大きなファイルの圧縮でエラーになり困っている方の参考になれば、そして今後のサーバ移転の時のためにも備忘録として残しておきます。目次さくらのレンタルサーバのファイルマネージャーでZipファイルに圧縮できない現象さくらサーバでzipファイルが圧縮できない原因サーバー上でzipファイルを圧縮するには、phpを使うサーバー上でphpでフォルダを圧縮する方法スポンサーリンクさくらのレンタルサーバのファイルマネージャーでZipファイルに圧縮できない現象さくらのレンタルサーバでは、コントロールパネルの「ファイルマネージャー」から直接ファイルやフォルダをダウンロードする事が出来ます。さくらレンタルサーバのコントロールパネルにログインし、左サイドバーから「ファイルマネージャー」をクリック。ダウンロードしたいフォルダを右クリックし、「ダウンロード」をクリック。するとこのようなダイアログが出るので、アーカイブ形式を選んで「開始」をクリック、するとダウンロードが始まります。1GBを超える大きなデータでも、数分でダウンロードされるはずです。さくらのレンタルサーバでは、さくらのコントロールパネルの「ファイルマネージャー」から、選択したファイル・フォルダを圧縮できる機能があります。圧縮したいファイルやフォルダを選択して右クリックして「リモートで圧縮」を選択します。すると、同じディレクトリにアーカイブファイルを作成してくれるのです。いう表示が2回繰り返された後、3回目で力尽きた、とう感じでこのようなエラーが出ました。解凍に続き、圧縮もダメです。「再読込」をクリックしても、全く同じ事が繰り返されるだけで改善されません。ちなみに、静的サイトや容量の少ないフォルダは圧縮できました。サーバの稼働状況によるのか、一回上手くいかなくても、また試すとうまく行く場合もありましたが、やはりデータ量が多い動的サイトは何度やっても同じで圧縮できませんでした。「リモートで圧縮」が上手くいかなくても、「ダウンロード」を選ぶとその際に圧縮されてダウンロードできるので「リモートで圧縮」自体、使う事が無いかもしれません。「ダウンロード」「リモートで圧縮」がどちらもうまく行かない場合は、「FilZilla」などのFTPソフトを使ってダウンロードする事になりますが、データが大きい場合はかなりの時間が掛かると予想されます。正式に問い合わせたわけではありませんがたぶん、解凍できない症状と同様にファイルが大きすぎてタイムアウトになったと思われます。さくらのファイルマネージャーでは、一定時間を超える処理を行った場合は処理を停止する仕様になっているとの事。(その「一定時間」はどのぐらいなのかは不明)この事から結局、さくらのファイルマネージャーでは大きなファイルのzipの解凍はもちろん、圧縮もできない、ということが推測されます。phpを使用した解凍方法を見つけて試したところあっさり解凍出来たので、逆に圧縮する方法もあるはず、と探してみました。今後も、サーバの引越し時などに使う事があると思うのでメモしておきます。解凍方法はこちらです。先日、10年以上運営していた無料ブログをWordPressに移行した時の事です。Flywheel)でテストし、いざさくらのレンタルサーバにア...michinari.work2018.08.21サーバー上でzipファイルを圧縮するには、phpを使うさくらのレンタルサーバの「ファイルマネージャー」で大きなファイルやフォルダの圧縮時にエラーが出る場合は、PHPで書かれたスクリプトを実行するという方法で解決できました。以下では例として、「〇〇〇.sakura.ne.jp/public」というフォルダーのファイルを全て圧縮する方法です。流れとしては以下のようになります。1.zip.phpを作成2.圧縮したいフォルダ内に「zip」という名前のフォルダを作成しzip.phpをアップ3.ブラウザから、zip.phpを呼び出すzip.phpを作成する以下をコピペし、必要箇所を修正します。<?php//圧縮保存するファイル名。public.zipなどとなる。このフォルダ以下のファイルを圧縮します。このフォルダにzipファイルを作ります。zipフォルダーは予め作成する必要有り。上の方にあるこの「public」という部分を、圧縮保存するファイル名に変更します。(例)「aaa」とすると、aaa.zipという圧縮ファイルが作られます。圧縮したいフォルダの名前で良いと思います。"public";書き換え後、zip.phpを保存します。「unzip.php」を保存する時は、文字コードをUTF-8形式、BOMなし(TeraPadでは「UTF-8N」)で保存します。圧縮したいフォルダが「public」だとすると、その中に「zip」という空のフォルダを作成しておきます。〇〇〇.sakura.ne.jp/public/zipその「zip」フォルダー内に、先ほど作成したzip.phpをアップします。〇〇〇.sakura.ne.jp/public/zip/zip.phpブラウザから、zip.phpを呼び出すあとは、Webブラウザからzip.phpにアクセスすると、プログラムが実行されて、ファイルを圧縮してくれます。〇〇〇.sakura.ne.jp/public/zip/zip.php※URLはフォルダの位置とサーバーの仕様によって変わります。ファイルが多い場合は数十秒画面が真っ白のままですが、焦らず少し待つと、ブラウザが以下のような表示になります。さくらのコントロールパネルから「ファイルマネージャー」にアクセスしてみます。zipフォルダ内に圧縮ファイルが作成されています。その圧縮ファイル(zip)を右クリックしてダウンロードできます。"https://michinari.work/wp-content/plugins/table-of-contents-plus/front.min.js-end");タイトルとURLをコピーしました。