質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Movable Type

シックス・アパートが開発・提供する,ブログで用いられることの多いCMS製品

Q&A

0回答

1932閲覧

MovableTypeのダイナミックパブリッシングにて、一部ページが表示されなかったり「ページが見つかりません。 An error occurs.」 と表示される

subaru_k

総合スコア10

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Movable Type

シックス・アパートが開発・提供する,ブログで用いられることの多いCMS製品

0グッド

0クリップ

投稿2018/11/27 06:36

どうぞよろしくお願いいたします。

前提・実現したいこと

Mvovable Type(+ nginx)にてサイトを運用しています。
いくつかのアーカイブテンプレートで出力の制御をPHP(Smartyタグ)で行いたく、スタティックからダイナミックパブリッシングへの変更を検討しています。
また、現在いくつかのアーカイブページは、ダイナミックパブリッシングで正しく稼働しているものがあり、他のテンプレートについても変更して問題ないだろうと思っていました。

発生している問題・エラーメッセージ

実際にダイナミックパブリッシングに変更してみたところ、以下の問題が発生しました。

アーカイブテンプレートの出力方法を変更したところ、正しく表示されるページと、真っ白でなにも表示されないページがでてきた
  • 真っ白のページではHTTPステータス500で返ってきており、PHP、もしくはPerlで何らかのエラーが出ている可能性はあるが、nginxでのPHPエラーログが出力されないため、なにが原因かはっきり掴めない
  • 記事の中に、アーカイブテンプレートで使用できないMTタグが使われているのかと思いましたが、そういった類のものは見当たりませんでした。
  • 表示されない記事の法則性を見つけようとしてみました(perlで扱えない文字が入っている、文字コード変換に失敗している可能性のある文字がある)が、稼働しているダイナミックパブリッシングのページでは正しく表示されるため、これといった法則性を見つけられませんでした。
  • 使用しているテンプレートの内容に問題がある可能性がありましたが、開発環境では正しく表示されているため、問題があるわけではなさそうです
アーカイブテンプレートの出力方法を変更し、定時更新設定を行って公開されたページを確認したところ、「ページが見つかりません。 An error occurs.」 と表示される。
  • こちらは上記問題のページとは別のアーカイブテンプレートで発生します。
  • MTから再構築をし直せば正しく表示されるようになります

試したこと

本番環境をいじることになってしまうので、あまりいろいろいじることができないのがつらいところではありますが、試せることは試してみました。

nginx側で、PHPのエラーログが出力されるよう設定してみる
  • /etc/php-fpm.confに、catch_workers_output = yesを追加してphp-fpm、nginxともに再起動してみた
  • /var/log/nginx/error.log、/var/log/php-fpm/php-fpm.log等を確認してみたものの、ログが吐かれている形跡はなかった
  • エラーログファイルの権限周りをいじってみたものの、なにも変わらなかった
php.iniの設定でdisplay_errors = onを設定してみる
  • (あんまりやりたくはなかったのですが)設定したところ、正しく表示されるページにおいても、phpのOut of Memoryエラーが発生していることを確認しました。
/etc/php-fpm.d/www.confにphp_value[memory_limit] = 256Mを設定してみる
  • 設定してみましたが、現象は変わりませんでした。
  • -1に設定してもだめでした

補足情報(FW/ツールのバージョンなど)

ミドルウェア等の構成は以下です。

  • Amazon Linux
  • Movable Type Pro version 6.3.2
  • nginx 1.10.1
  • PHP 5.6.25

その他必要な情報がありましたらお知らせください。
nginxをあまり触ったことがなく、どうすればよいか途方に暮れております…
どなたかお知恵をお貸しいただけると助かります。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問