ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Movable TypeコミュのMTで不具合が起きたらここで聞こう

  • mixiチェック
  • このエントリーをはてなブックマークに追加
設置や操作上のエラーや不明な点をどうぞ。
また、質問する前に過去の事例を見てみるとよいかも。(´ワ`)

コメント(1000)

いぬっころさんありがとうございます

やっぱりそれが原因ですかね
使っているサーバーではバージョン5.00003?と5.8.5のどちらでもと書いてあるのですが、5.000を認識しているようです
3.2では問題なかったのですが、3.3ではだめみたいです
データベースを違うものに移行してみます

ありがとうございました

えりこさん、

もし、複数のPerlが入ってて古い方を選んでしまうならば、書き換えをすれば、なんとか対処出来ます。
面倒だけど・・・・・・・・・・・・・・・・。

以下の.cgiを書き換えます。
mt.cgi
mt-xmlrpc.cgi
mt-view.cgi
mt-upgrade.cgi
mt-testbg.cgi
mt-tb.cgi
mt-send-entry.cgi
mt-search.cgi
mt-db2sql.cgi
mt-comments.cgi
mt-check.cgi
mt-atom.cgi
mt-add-notify.cgi
mt-feed.cgi

1行目
#!/usr/bin/perl -w

#!/usr/local/bin/perl -w
↑新しいPerlの場所を指定する。
いぬっころさん
たびたびありがとうございます

localを入れるんですね!
試してみます
あ!!!!!!ごめんなさい!!!!

例として、localを入れただけです。
お使いのサーバに合わせて適宜変更して下さい。
新しいPerlがある場所は、サーバ屋さんに聞いて下さい。
了解しました!
ありがとうございましたm(__)m
いぬっころさんありがとうございました
無事クリアできました!
3.3にバージョンアップしたところ、
Custom Entry Fields(入力項目を増やすプラグイン)は動作せず、
MTRecentImages(サムネイル画像を表示させるプラグイン)
に至っては使用しているとエラーが出て再構築すらできない状態になりました。
使われている方で同じ症状にが出ている方はいらっしゃいますでしょうか?また解決された方いらっしゃいますでしょうか?
>967: ベンジョ☆ミンさん
BiGPAPIがらみのプラグインは、3.3からTRANSFORMER機能とぶつかるため使用不可です。
どっちもそれに該当するため使用できません。

それぞれのプラグインがTRANSFORMER用に書き直されるか、BiGPAPIの3.3で動作するバージョンが出るまでお待ちください。
というか、「MTRecentImages」は関係なかったですね。
「MainMenuRecent」の方だった。すいません。
>oscarさん
なるほど、そうだったのですね・・・
無知でございました、ご教授ありがとうございます!
>967: ベンジョ☆ミンさん
えーと、「MTRecentImages」入れてみましたが、確かにエラーでますね。配布サイト見ると1.99と2.0ってのがあって2.0はMT3.2に合わせて書いたという記述あります。現在のバージョンはMT3.2に依存するって事みたいですね。

「Custom Entry Fields」じゃなくて「RightFields」ならば、ベータ版ですけどTransformer対応のが出てますよ。
最近さくらインターネットのライトプランからスタンダードプランに変更しました。それを機に、今まで棚上げにしていたことをいっぺんにいろいろとやっているのですが、逆にそのせいで何が原因で下記のエラーが起きるのか、分からず困っています。

「MTの管理画面にアクセスする度に404エラーを吐き出す」

404のページを自作し(404.shtml)、そこにアクセス解析のタグを入れたところ、なんとMTを再構築する度に404の嵐となっていることが分かりました…。それからいろいろと404になる条件をアクセス解析のログから考えたのですが、どうも管理画面へのアクセスが404に直結しているようです。それですべて再構築する度にものすごい数の404を吐き出しているように思います。ただし、再構築にエラーが出るわけでも、ブラウザで404のページに飛ばされると言うこともありません。解析にログばかりが残っていく状態です。

こういう仕様とも思えず、私の設定が悪いのでは、とも思うのですが何をどうしたらいいのかさっぱり分かりません。

データベースはMySQL、MTは3.3です。拡張子は.shtmlを使用しています。最初に作成されたindex.htmlなどは自分でFTPソフトで削除しました。独自ドメインを使用、mt-config.cgiでは独自ドメインで指定しています。

サーバ移転に関し行ったことは次の通りです。
・MT3.3を新規インストール、元サーバの3.2のデータを移行
・データ移行後Berkeley DBからMySQLにデータベース変更
・アクセス解析dopvSTAR ver.0089のインストール(元サーバではver.0087を使用)
・404.shtmlの作成、.htaccessで設定

よろしくお願いします。
>みかたん さん
実際、自作の404ページにアクセスがあったURLはどんなものでした?
って、何意味不明なこと言ってるんだ私...
実際に404エラーとなってるページのアドレスなんてログからはわかりませんよね...
Rocsetさん

いえ、リンク元URLは残ってますよ。以下、抜粋です。rebulidのログに至っては、数えたくないくらい列挙される始末です…

mt/mt.cgi

mt/mt.cgi?__mode=rebuild&blog_id=1&type=Individual.Daily.Monthly.Category.index&next=4&offset=&limit=200&total_entries=677&is_bm=&entry_id=&is_new=&old_status=&old_previous=&old_next=

mt/mt.cgi?__mode=rebuild_confirm&blog_id=1

mt/mt.cgi?__mode=cfg_prefs&blog_id=1

mt/mt.cgi?__mode=cfg_archives&blog_id=1

mt/mt.cgi?__mode=cfg_prefs&blog_id=1

mt/mt.cgi?__mode=cfg_plugins&blog_id=1

mt/mt.cgi?__mode=cfg_entries&blog_id=1

mt/mt.cgi?__mode=menu&blog_id=1

mt/mt.cgi?__mode=view&_type=template&blog_id=1&id=1

mt/mt.cgi?__mode=view&_type=template&id=1&blog_id=1

mt/mt.cgi?__mode=list&_type=template&blog_id=1

とにかく管理画面で何かやる度に404エラーを吐き出している気がします…
>みかたん さん
ん... 皆目見当がつきません...

可能性薄いですが、↓とかどうですかね
http://wakux2.com/blog/archives/2006/07/33_1.php
>Rocsetさん

ありがとうございます。
修正版でアップデートしたものの、改善されずにいたのですが…

ダメ元で、.htaccess内の表記、404.shtmlへのパスをURLから絶対パスに替えたところ…

直りました。

灯台下暗しと言うか、自分でわざと無いページにアクセスして404.shtmlにちゃんと飛んでいたので、設置成功、と思っていましたし、絶対MTの設定間違いだと思い込んでいました。私がダメダメでした…。

お手数おかけして申し訳ありませんでした。
Movable Type 3.2-ja-2から3.31にアップグレードを試みたのですが、「アップグレード中にエラーが発生しました: failed to execute statement alter table mt_session modify session_id varchar(80) not null primary key: Multiple primary key defined at lib/MT/Upgrade.pm line 1190.」こんなメッセージが出まして中断しました。
DBはMySQL 4.1.13aを使っています。些細なことでも構いませんのでアドバイス頂けますと助かります。よろしくお願いいたします。
>979: しげっち さん

mt-check.cgiはやりましたか?

3.3でかなりシステムが変わるようなので、プラグインなどを使っているなら外してみてはいかがでしょうか?

今回のことに限らず、アップグレードする際には、標準の状態で導入し、様子を見ながら少しづつカスタマイズしていった方がエラーの原因を特定しやすいと思います。
> しげっちさん
バージョンアップごとにスキーマが変わるのはいいんですけど、not null制約のとこに値が挿入されずエラーを返してきてます。DB側でなんかしら埋めておいてあげると大丈夫だと思いますよ。

こちらはPgsqlで2.xから3.1にあげる時かなんかに発生しました。
みなさんありがとうございます。

>980: Nagiさん
mt-check.cgiは問題なしでした。

>981: 慎悟
session_idにnullが入っているということですかね?
少し調べたら
mysql> select session_id from mt_session where session_id IS NULL ;
Empty set (0.00 sec)
となりました。

さらに調べたところ、現在のsession_idの型は
session_id varbinary(80) NOT NULL default
となっており、エラーメッセージでは
session_id varchar(80) not null
ということでNULLがあることが問題ではなくvarbinaryとvarcharの競合によるMultiple primary key問題ではないかと思えてきました。

以前DBをUTF-8化しようとしたのですがうまくいかなかったのでbinaryで誤摩化していたツケが回ってきたようです。
binary -> UTF-8変換に役立つ情報などあれば引き続きアドバイスいただけますと幸いです。
978の自分のコメントに追加で書き込みいたします。

直ったと思っていたのは…勘違いでした(T_T)

そしてみつけたのが、
mt/mt-static/user_styles.css
というリンクです。
存在しないcssファイルを読み込もうとしているので、404エラーが毎回出ていたのでした!

そんなわけで、空のファイルをアップして今度こそ完全に404エラーから脱出いたしました。

直ったつもりでいたなんて、何ともお恥ずかしい話です…

しかし、何のためのリンクなんでしょうね?
417 セリーヌさんに近い症状のようです。

再構築中(すべて)に、
Can't use an undefined value as a SCALAR reference at lib/MT.pm line 650
というエラーが出るのですが、どなたか経験された方はいませんか?

インデックスのみの再構築だと
Can't use an undefined value as a SCALAR reference at lib/MT/Template/Context.pm line 780
カテゴリーアーカイブのみの再構築だと
Can't use an undefined value as a SCALAR reference at lib/MT.pm line 650
個別と月別は問題なく通ります。

ちなみに
MT.pm line 650 は
my @entries = MT::Entry->load({ blog_id => $blog->id,

Context.pm line 780 は
@entries = MT::Entry->load(\%terms, \%args);

MT/Entryあたりがおかしいのかなとちょっと考えています。あとentry&idが29556とか行っているのもまずいかなぁと、、、
>♥あゆ━こ さん
送信先サーバが混雑していて応答が遅くなっているのが原因ならば、mt-config.cgi でトラックバック時のタイムアウトまでの時間長を調節することができます。

MT3.2 以前のものをお使いならば、mt-config.cgi に以下の記述がありますんで、頭の # を消し、コメントアウトしてみて下さい。

# PingTimeout 20

MT3.3 の場合は、mt-config.cgi の末尾行に以下を追加で記述してみて下さい。

PingTimeout 20

ちなみに上記の 20 はタイムアウトまでの時間(秒)です。
徐々に長くしながら試してみて下さい。

>ちなみに、当方はxreaに設置しています。xrea自体がライブドアに一括拒否されているということはありうるでしょうか?
↓この辺りが参考になりそうです。

http://blog.livedoor.jp/staff/archives/50302411.html
http://blog.excite.co.jp/staff/2795901/
http://sho.tdiary.net/20050628.html
ロリポップで複数のMTインストールに失敗しました。

【現在の環境】
MT 3.2
DB SQLite

【3.2とは別に作りたい環境】
MT 3.3
DB SQLite

【状況】
現在ロリポップでMT3.2+SQLiteで使っています。
(ロリポの場合、MT3.2とSQLiteの相性が良いので)

3.3を使ってみたいのですが、3.2からアップデートするのは
使っているプラグインがまだ対応していないので不可能です。

なので↓参考にして3.2とは別に3.3をインストールする事にしました。
http://www.antimon2.atnifty.com/2006/07/multi_mt_on_1db.html

SQLiteの場合が書いていなかったのでMySQL・PostgreSQLの場合を参考に
以下のようにデータベースの接頭辞mt_をmt3_に変更しました。

lib/MT/ObjectDriver/DBI/sqlite.pm

の76行目から

## Prefix the table name with 'mt3_' to make it distinct.
my $tbl = $class->datasource;
my $tbl_name = 'mt3_' . $tbl;

my($w_sql, $w_terms, $w_bind) = ('', [], []);
if (my $join = $args->{join}) {
my($j_class, $j_col, $j_terms, $j_args) = @$join;
my $j_tbl = $j_class->datasource;
my $j_tbl_name = 'mt3_' . $j_tbl;

その後、mt-config.cgiの設定を済ませ
cgiフォルダ内にmt3というフォルダを作り3.3をアップロード。
パーミッションの変更を済ませ、cgi/mt3/にアクセスし
手順通りにインストールを続行しました。

すると途中でブラウザが落ちました。

mt.cgiにアクセスすると
ちゃんとログイン画面が表示されていました。
先ほど入力したログイン名とパスワードを入れてみたところ
承認されず、ログインが出来ません。

mt3フォルダを削除して、はじめからやってみましたが
何度やっても同じ現象が起こります。

いったい何が原因なのでしょうか?
>987: アベさん
>http://www.antimon2.atnifty.com/2006/07/multi_mt_on_1db.html
↑この記事を書いた者(このブログを運営している者)です。

質問の回答ではありませんが、SQLiteの場合を書いていなかった理由について。
SQLiteの場合は、mt-config.cgi でDBファイルへのパスを指定しますよね?
それをインストールするMTごとに別個にすれば、複数のMTで違うDBファイルを使うワケなので、テーブル名がかぶる心配がないのです。
つまりテーブル名(のprefix)をいじる必要がないのです。

ということで、そういう方法で(lib/MT/ObjectDriver/DBI/sqlite.pm を元に戻して mtconfig.cgi だけ注意して)インストールを試してみていただけませんか?
それでも同じ現象が起きるようなら、少なくともDB関連以外に原因があるであろうコトが分かりますので。
> あんちもん2さん

レスありがとうございます。ご本人からコメント頂けるなんて嬉しいです。
ご指摘通りmt-config.cgiのみ編集して
ロリポのマニュアル通りやったらちゃんと動作し
3.2に影響なくインストール出来ました。

データベースには疎いのですが自分なりに解釈した結果
インストールするとmt-config.cgiの
##### SQLITE #####
ObjectDriver DBI::sqlite
Database sqlitedb ←この部分に書いた名前で
ファイルが勝手に生成されてそれにエントリー等のデータが蓄積されて行く。

つまりここの名前をMTごとに変えればデータが上書き(?)
されたり混ざったりしないという事でしょうか?

もしくは、そもそもMTごとに別のフォルダにインストールしてれば
sqlitedbって名前でも大丈夫なんでしょうか?
>989: アベさん

>もしくは、そもそもMTごとに別のフォルダにインストールしてれば
>sqlitedbって名前でも大丈夫なんでしょうか?
あ、そうですね。
ファイル名だけ書けば、そのファイルはMTインストールフォルダの直下にできるので、結果的にはそうです。

取り敢えず、無事インストールできたようで何より(^-^)
>987: アベさん
もう解決したので良いのですが、気付いたことがあるので、情報提供と言うことで追記。

sqlite.pm(MySQLならmysql.pm、PostgreSQLならpostgres.pm)を編集して「mt_」を別のもの(例:「mt3_」)にする際、置換し忘れに注意です。
sqlite.pmの、MT3.2の場合165行目、MT3.31の場合163行目に
「select * from mt_」
と言う記述がありますが、↑この「mt_」も対象です。

テキストエディタの一括置換機能が使用できれば、「mt_」を全て「mt3_」に置換しちゃえばOK。
(mysql.pm、postgres.pm、sqlite.pmの3ファイルに関する限り、それで問題ないことを確認済み。)

※ブログの記事にその旨追記しました。
DBはMySQL、サーバはXrea100番台前半を使っています。
MT3.3を導入後、ページのダイナミック化をしようとしてみました。

マニュアルにあるように手順をふみ、
「アーカイブのみダイナミック化」を選んだのち再構築したんですが、
トップページからのリンクがHTMLのまま変更されておらず、
そのままアーカイブページにいくと以下のエラーが出ます。

Smarty error: [in mt:16 line 17]: syntax error: unrecognized tag: MTBlogURL$ (Smarty_Compiler.class.php, line 436)

MYBlogURLというタグを理解していないというのですが、この
Smarty_Compiler.class.phpというファイルはMT/php/以下にあるファイルで、
理解されてないということはないと思うのですが…

このあとダイナミックパブリッシングの最適化ということで
キャッシュを保存するためのフォルダを生成したり
ダイナミックパブリッシング用テンプレートに追加記述などをしました。

アドバイスお願いします!
>舟和 さん
適当な勘で申し訳ないんですが、テンプレート内のどこかで、<$MTBlogURL$> とあるべきところが <MTBlogURL$> になってるとか、そんなような原因っぽい気がします。
>994: Rocsetさん

レスありがとうございます。
あ!ありそう!と思って全部のHTMLのテンプレを
チェックしたのですが、特別記述ミスはないようでした…

どうなっているのだろう…
再び…
>994: Rocsetさん
すいません!やはりテンプレートが間違っていました…

ヘッダのRSS用meta alternativeの所が、ご丁寧にも
<$MTBlogURL& />
と閉じタグになっていました(汗)

解決いたしました。ありがとうございます!
ロリポップでMTを使用しています。難しいことは分からないので、ロリポップのマニュアルにあるとおりにしかインストールしていない状況です。自分でいじったのは、CSSやテンプレートのデザイン程度です。

MTを3.17くらいから3.2にアップグレードした状態で、今のところは特に大きな問題はなく使用していました。
先日Main Indexのサイドバーを編集しようと、「環境設定>テンプレート>Main Index」を見ました。ですが、ここで表示されているのは私が以前作業したものではなく、3.2のデフォルトのテンプレートらしきもののようなのです。

3.2にアップグレードしてから何度か投稿しましたが、今までどおりのページが表示されているので、以前作ったMain Indexのテンプレートはどこかに残っていて、きちんとそれに基づいて再構築されているようです。

3.17以前に作成したテンプレートがどこに保存されているのかがわかれば、それを管理画面にコピー&ペーストして編集するなり、直接ファイルを編集するなりできるかと思うのですが、どこにあるのか見当がつかない状態です。

初歩的な質問で申し訳ありませんが、Main Indexのテンプレートがどのフォルダに入っているのか、教えていただければと思います。
よろしくお願い申し上げます。
レンサバがハッキングに遭い、ブログが飛んでしまいました。(号泣)
現在、別サーバーでMT設置して頂き(バージョンが3.3に変わった)
ファーストウェブログを設定しなおしテンプレートも変更。
そして以前ローカルに保存しておいたログを読み込みました。
(windowsのメモ帳、txtファイル)

「読み込むファイルの文字コード」の設定があったので
問題ないと思ったら、見事に文字化けしました。

シフトJISを指定して読み込むと自動で認識してUTF-8に
なるのかと思ったら、文字コードそのままでした・・・。

前置きが長くなりましたが、現在ローカルに保存している
ログをUTF-8でMTに読み込ませるにはどのような方法があるか
ご存知の方がいらっしゃいましたらご教授下さい。
切実に困っています。よろしくお願いします。
>よいこさん
ローカルのログをUTF-8に変換してMTに読み込ませるのが早いと思います。

ベクターなどを探せばフリーの変換ツールがあります。
http://www.vector.co.jp/vpack/filearea/win95/util/text/conv/code/index.html

念のためログを別なフォルダなどにコピーしてから作業することをお薦めします。
みなさんこんにちわ。
初めて質問させていただきます。

MT3.3の新規インストールを行っているのですが、mt-check.cgiの
「モジュールの確認: 必要」のところにある「HTML::Template (version >= 2)」が、サーバーにインストールされていないか古いバージョンとのメッセージが表示されてしまいます。

MTのインストールディレクトリの中の/extlib/HTMLを確認したましたが、Template.pmは存在しています。

そこでサーバーに問題あるのか確認をする為に、
MT3.2をインストールしmt-check.cgiを実行したところ
こちらは問題なくインストールされているとのメッセージが
表示されます。

MT3.3のパッケージは先週の金曜日にダウンロードしたもので
ファイル名はMT-3_31-ja.zipです。

ググってみましたが、このような事象の書き込みが
見つかりませんでしたので、こちらのコミュニティで
質問させていただきます。

よろしくお願いいたします。

ログインすると、残り963件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Movable Type 更新情報

Movable Typeのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング