レンタルサーバーのXREA+(CORESERVERも同様)上で、最新版Movable TypeのZipファイルを、前回見つけた解凍スクリプトで解凍します。
先ず、解凍(展開)したいZipファイルをレンタルサーバーのXREA+上に、FTPでアップロードします。
次に、アップしたZipファイルと同じディレクトリ(フォルダ)に、下記のようなphpファイルを作成します。
ファイル名には、好きな名前を付けて構いません。
①
<?php
$zip_file = 'MTOS-5.2.8.zip'; // 展開するzipファイルを指定
$zip = new ZipArchive;
if($zip->open("$zip_file") === TRUE) {
$zip->extractTo('./');
$zip->close();
echo '成功';
} else {
echo '失敗';
}
?>
または
②
<?php
$zip_file = 'MTOS-5.2.8.zip'; // 展開するzipファイルを指定
function unzip($zip_file) {
return shell_exec("unzip $zip_file");
}
if($zip = unzip($zip_file)) {
echo "解凍成功:$zip_file";
} else {
echo "解凍失敗:$zip_file";
}
?>
このphpファイルにブラウザからアクセスすると解凍が始まり、成功と表示されれば、圧縮ファイルが展開されている筈です。
例えば①の場合、phpファイル名を zipextract.php 、アップロードするディレクトリ(フォルダ)を mtdaisuki.com とすると、ブラウザのアドレス欄に、http://mtdaisuki.com/zipextract.php と入力してEnterキーを押下します。
①の解凍結果
「Fatal error: Class 'ZipArchive' not found in /virtual/(USER ID)/public_html/zipextract.php on line 4」と表示されて、エラー終了。
XREA+には、ZipArchive が導入されていないようです(CORESERVERも同様)。
②の解凍結果
「Warning: shell_exec() [function.shell-exec]: Cannot execute using backquotes in Safe Mode in /virtual/(USER ID)/public_html/zipunzip.php on line 5
解凍失敗:MTOS-5.2.8.zip」と表示されて、解凍失敗。
オンラインのPHP Manualによれば、
PHPのセーフモードは、共有サーバーでのセキュリティの問題を解決するための試みです。 この問題をPHPのレベルで解決しようとするのはアーキテクチャ上正しくありません。しかし、WebサーバーやOSレベルでの代替策はあまり現実的ではないため、多くのユーザー、特にISPではセーフモードが現在使用されています。
警告 この機能は PHP 5.3.0 で 非推奨となり、PHP 5.4.0 で削除されました。
となっています。
PHP5.5.0以上であれば、解凍成功となるであろうと思われます。
XREA+は、今後、PHP5.5を導入予定のようです(CORESERVERも同様)。