nimu

ダイナミック・パブリッシングがうまくいかない

0

nimuと申します。

ダイナミック・パブリッシングがうまくいかない為、ご教授いただけますでしょうか。

環境は以下の通りです。

MTバージョン:5.27
PHPバージョン:5.3.17
MySQLバージョン:5.1.47
ホスティングサーバー:GMOクラウド/iClusta/i-02

mt-configにおけるDBの設定は以下の通り(架空の値)です。
(mt-wizard.cgiで自動作成してます。)

#======== DATABASE SETTINGS ==========

ObjectDriver DBI::mysql
Database dbname
DBUser dbuser
DBPassword dbpass
DBHost mysql.servername.net:12345

(DBサーバーが別外部サーバーとなっており、ポートが12345です)


デフォルトのテンプレートでウェブページのテンプレートをダイナミックに変更し、
簡単なウェブページを作成したところ、ブラウザでページを確認すると、

503 Service Unavailable

Error:
pdo error: [-1: Connection attempt failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'mysql.servername.net:12345' (111)] in CONNECT(mysql:host=mysql.servername.net:12345, 'dbuser', '****', dbname)

StackTrace:
#0 /home/path/cgi-bin/mt/php/mt.php(83): MT->__construct(25, '/home/path/web...')
#1 /home/path/test/mtview.php(4): MT::get_instance(25, '/home/path/web...')
#2 {main}

というエラーでページが表示されませんでした。

そこで、mt-config.cgiを

DBHost mysql.servername.net:12345

DBHost mysql.servername.net
DBPort 12345

に変更したところ、ページは表示しないのですが、

Errorの次の行が以下のように変化しました。

pdo error: [-1: Connection attempt failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'mysql.servername.net' (111)] in CONNECT(mysql:host=mysql.servername.net, 'dbuser', '****', dbname)

DBPortが反映されていないような気がするのですが、こういうものなのでしょうか?
なお、簡単なphpのプログラムから、MySQLにアクセスすることは確認しております。

どなたか思い当たることがありましたら、情報をいただけないでしょうか。

なお、当方、MTについては10年近くさわってますが、ダイナミック・パブリッシングは初めてです。

以上、よろしくお願いいたします。

返信(11)

| 返信する
  • すみません...
    Errorの内容が間違ってましたので再送します。

    ダイナミック・パブリッシングがうまくいかない為、ご教授いただけますでしょうか。

    環境は以下の通りです。

    MTバージョン:5.27
    PHPバージョン:5.3.17
    MySQLバージョン:5.1.47
    ホスティングサーバー:GMOクラウド/iClusta/i-02

    mt-configにおけるDBの設定は以下の通り(架空の値)です。
    (mt-wizard.cgiで自動作成してます。)

    #======== DATABASE SETTINGS ==========

    ObjectDriver DBI::mysql
    Database dbname
    DBUser dbuser
    DBPassword dbpass
    DBHost mysql.servername.net:12345

    (DBサーバーが別外部サーバーとなっており、ポートが12345です)


    デフォルトのテンプレートでウェブページのテンプレートをダイナミックに変更し、
    簡単なウェブページを作成したところ、ブラウザでページを確認すると、

    503 Service Unavailable

    Error:
    pdo error: [-1: Connection attempt failed: SQLSTATE[HY000] [2005] Unknown MySQL server host 'mysql.servername.net:12345' (1)] in CONNECT(mysql:host=mysql.servername.net:12345, 'dbuser', '****', dbname)

    StackTrace:
    #0 /home/path/cgi-bin/mt/php/mt.php(83): MT->__construct(25, '/home/path/web...')
    #1 /home/path/test/mtview.php(4): MT::get_instance(25, '/home/path/web...')
    #2 {main}

    というエラーでページが表示されませんでした。

    そこで、mt-config.cgiを

    DBHost mysql.servername.net:12345

    DBHost mysql.servername.net
    DBPort 12345

    に変更したところ、ページは表示しないのですが、

    Errorの次の行が以下のように変化しました。

    pdo error: [-1: Connection attempt failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'mysql.servername.net' (111)] in CONNECT(mysql:host=mysql.servername.net, 'dbuser', '****', dbname)

    DBPortが反映されていないような気がするのですが、こういうものなのでしょうか?
    なお、簡単なphpのプログラムから、MySQLにアクセスすることは確認しております。

    どなたか思い当たることがありましたら、情報をいただけないでしょうか。

    なお、当方、MTについては10年近くさわってますが、ダイナミック・パブリッシングは初めてで、PHPもMySQLもほとんどわからない状況です。

    以上、よろしくお願いいたします。

  • 【DBPort | 環境変数リファレンス】
    http://www.movabletype.jp/documentation/appendices/config-directives/dbport.html

    DATABASE SETTINGSに「DBPort 12345」を試してみてはいかがでしょう。

  • kei344様

    ご返信頂きありがとうございます。

    質問文が長く見づらくて恐縮ですが、
    後半部分にDBPortの設定を行なった場合のエラーを記載しております。

    何か心当たりがございましたらアドバイスをよろしくお願いします。

  • 見落としていました、すみません。

    DB呼び出しをしているソースを追いましたが、下記部分が問題かもしれません。
    /MT-5.2.7/php/lib/mtdb.mysql.php 22行目
    $host .= ";port=$port";
    これが、文脈的には下記様にならないとポート番号を使用せず接続してしまいます。
    $dsn.= ";port=$port";

    ここが問題ではないかと考えます。

  • kei344様

    ご連絡が遅くなりまして申し訳ございません。
    調査いただき大変感謝しております。

    MTのソースを変更してみたところ、今度は以下のエラーのみが画面に表示しました。
    Fatal error: Call to undefined function smarty_function_mtcgipath() in /home/path/cgi-bin/mt/php/lib/function.mtentrytrackbackdata.php on line 29

    他のプログラムに影響が出てくるようです。
    上記のソースを見てみたのですが、私のスキルでは何をどうすればよいのかわからない状況です。

    もし何か心当たりがありましたら教えていただけますでしょうか。

  • こちらの環境で状況を再現できないため、これ以上はお役に立てなさそうです、申し訳ありません。

  • kei344様

    いろいろとありがとうございました。
    頂いた情報を参考にシックスアパート社に確認をして見ます。

  • >nimuさん
    こんにちは。

    「Call to undefined function smarty_function_mtcgipath・・・」のエラーメッセージからすると、MTCGIPathタグのダイナミックパブリッシング用のコードが正しくアップロードされていないと思われます。
    MTのインストール先の「php」→「lib」フォルダに、「function.mtcgipath.php」が正しくアップロードされているかどうかを確認してみてください。

  • 壱さん

    ご連絡ありがとうございます。

    確認したところ、アップロードされており、サイズもアップロード前のものと同じ847バイトでした。

  • シックスアパート社より連絡をいただきまして、再現性を確認し、対処方法については検討中とのことです。

  • シックスアパート社より連絡があり、本日公開したMT5.2.8で修正されているとのことです。
    さっそくインストールしたところ、無事、ダイナミックパブリッシングが動くことを確認いたしました。
    ご協力いただきました皆様、ありがとうございました。

返信する


カテゴリグループ

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

178 552

最新のトピック: ユーザへアカウント発行通知 (2014年1月27日 cmtskt)

143 426

最新のトピック: アイテム・カスタムフィールドの連動 (2013年12月16日 kazuhiro watanabe)

291 819

最新のトピック: 検索についての質問 (2014年1月23日 noble777)

OpenID対応しています OpenIDについて