xreaでのMediaWikiの画像アップロード問題

  • 投稿日:
  • カテゴリ:

xreaにMediaWikiをインストールしても、セーフモードのため、そのままでは画像のアップロードがうまくいきません。ネットを検索しても、CGIモードで動かすという方法が見つかったのですが、それでは、動作が遅くなってしまい、実用的ではないように思います。

解凍したフォルダ内を検索してみると、includes/GlobalFunctions.phpにwfMkdirParentsという関数があり、これがディレクトリを作成するグローバルな関数のようです。

function wfMkdirParents
のなかにある

$ok = mkdir( $dir, $mode, true ); // PHP5 <3
if( !$ok ) {
//PHP doesn't report the path in its warning message, so add our own to aid in diagnosis.
trigger_error( __FUNCTION__ . ": failed to mkdir \"$dir\" mode $mode", E_USER_WARNING );
}

という部分があり、ここでPHPからmkdirしているので、ここをPHPからFTP経由でmkdirをすればうまくいくはず。

上の$okから始まる行から、}までの行をコメントアウトします。

下のコードをコメントアウトした上か下に書き込みます。xxxxは各自で書き換える必要がある部分です。

// FTPのディレクトリは、public_htmlがルートにあるので、
// $dirで受け取ったディレクトリから、先端を削らなくてはならない
$dir2 = str_replace("/virtual/xxxx", "", $dir);

// FTP接続に必要な情報。
$ftp_server="s229.xrea.com";
$ftp_user_name="xxxx";
$ftp_user_pass="xxxx";

// 接続してmkdirしたあと、chmodします。
$conn_id = ftp_connect($ftp_server);
@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_mkdir($conn_id, $dir2);
ftp_chmod($conn_id, 0777, $dir2);
ftp_close($conn_id);

以上です。

« Netatalkのエラー | MediaWikiとSQLite »
リンクソース
■記事用リンクソース:

■Wiki用リンクソース(PukiWiki):

■Wiki用リンクソース(MediaWiki):

■短縮URL: