可能性のひとつとして、URL が重複した記事やウェブページが存在することが考えられます。
トラブルシューティング
Copy2Public 3.3 から 3.4 / PowerSync 1.28 の不具合が原因で「日時指定」を選択して同期を行うとエラー「不正な要求です」が発生して同期スケジュールを保存できません。
この問題は最新版で対策済みですので最新版へアップグレードすることで解消いたします。
特定のバージョンの PowerCMS について、リビジョンの削除時に不要となったファイルが削除されない不具合があり、その不具合によって残ってしまったファイルを削除するスクリプトを配布しております。
下記の原因が考えられます
- 環境変数 StaticWebPath の設定が正しくない
- mt-static ディレクトリが設置されていない
- PowerCMS をアップグレードした際、mt-staitc ディレクトリを差し替えていない
問題の切り分けのため mt-config.cgi へ指定した 環境変数 StaticWebPath の URL へブラウザでアクセスできるか確認してください。
WAF (Web Application Firewall) を導入されている場合はその影響である可能性が高いです。
PowerSync 1.33 バージョンで「今すぐ実行」を選択して同期の操作を行っても同期が行われない、テスト実行が行われる問題が存在します。
この問題は PowerSync 1.331 で対策しましたので、最新版へアップグレードすることで解消します。
PowerCMS 6.00 以上 6.01 以下のバージョンで、ファイル名に日本語などマルチバイトを含むファイルをアップロードできない問題が存在します。
この問題は PowerCMS 6.02 で対策しましたので、PowerCMS 6.02 以降の最新版へアップグレードすることで解消します。
PowerCMS 5.14 / 4.44 より前のバージョンでは、index_1.html、index_2.html のようなページ分割で作成されるファイル名に似た xxx_NN.yyy の形式のファイルが意図せず削除される不具合があります。
例えば <MTDate format_name="iso8601">
といったような、再構築されるたびに内容が変わるテンプレートタグを埋め込んで再構築を行い、その時点での結果が対象ファイルに反映されているか、対象ファイルの更新日が変わっているか等から判断することが可能です。テンプレートタグはコメントアウト部分に記述するなどし、コンテンツに影響のないように埋め込むとよいでしょう
CGI 画面の下部に表示される「警告とメッセージ」はデバッグモードが有効な場合に表示され、デバッグモードを無効にすると「警告とメッセージ」を非表示にできます。
プレビューの操作後に表示確認が行えるのは操作直後、ページを移動したりブラウザを閉じるまでです。プレビューの操作後に表示確認が行えなくなった場合はプレビューの操作を再度行ってください。
操作直後だけでなく、長期間にわたって表示確認を行うことを希望の場合はステージ環境を設けたサイト・運用の構成をご検討ください。
プレビューの操作を行うとプレビュー用のファイルが生成されファイルの URL へアクセスすることで表示確認が行えます。 セキュリティの観点からプレビュー用のファイルは時間経過ともに削除され、ファイルが削除されるタイミングは設定や機能によって異なります。
エラーに含まれるファイルやその上位ディレクトリについて PowerCMS (ウェブサーバー) から書き込みが行える設定になっているかご確認ください。
また、サーバーに容量に空きがない場合も同様のエラーが発生することがありますのでサーバー容量に空きがあるかについてもご確認ください。
このエラーは、アップロードしようとしたファイルのサイズが上限値を超えているため、アップロードできなかったことを意味しています。
アップロード可能なファイルサイズの上限は環境変数 CGIMaxUpload で変更が可能で、初期値は 20480000 (約 20MB) です。
システム管理者以外のユーザーがログインを行ったときに下記のメッセージが表示され操作が行えないのは、システム管理者の操作管理画面がロック状態にあるためです。
現在CMSはメンテナンスなどの理由のため管理者以外の操作が制限されています。
再構築では、対象のファイルがすでに存在する場合、そのファイルの内容と、これから書き出そうとしている内容を比較し、変化のある場合にファイルを更新します。内容が変化しない場合、再構築を行ってもファイルは更新されません。
ステージングサーバー連携機能 (Copy2Public もしくは PowerSync) では同期元のファイルと同期先のファイルの更新日を比較し、同期元のほうが新しいファイルのみ同期を行います。
同期元と同期先でファイルの更新日が同一の場合、もしくは同期先のファイルの更新日のほうが新しい場合、そのファイルは同期はされません。
まずはシステムレベルの全般設定画面からテストメールの送信が行えるかご確認ください。テストメールが受信できる場合、メール通知を行う機能の設定について確認する必要があります。
エラー「Reading from filehandle failed at」の原因はテンプレートのアーカイブマッピングの設定にあります。
対象のエラーは、必要な Perl モジュールがインストールされていない、もしくは利用できない場合に出力が行われます。
参考:エラーメッセージの内容
Can't locate Archive/Zip.pm in @INC (@INC contains: addons/PowerCMS.pack/lib addons/Commercial.pa...
上記エラーの場合は、「Archive::Zip」モジュールがインストールされていない、もしくは利用できない状況にあります。
Perl モジュールのインストール状況は、PowerCMS 管理画面の右上にある[システムメニュー]>[システム情報]より、確認していただけます。
XML::Parser モジュールがインストールされていないか、XML::Parser の動作に必要な依存モジュールがインストールされていない状況です。
リッチテキストエディタへ link タグや meta タグを入力することはできません。 link タグや meta タグを利用したい場合には、フォーマット「リッチテキスト」以外をご利用ください。
Apache でエイリアスを指定した場合、対象のウェブサイト/ブログで DynamicMTML を利用した際に PHPがファイルパスを認識できず 404 エラーとなることがあります。
Can't use string ~ as a HASH ref while "strict refs" in use
このようなエラーが発生する原因として、データの一部に含まれるバイナリデータが破損していることが考えられます。
アップロードした画像のサムネイルが生成されない場合、
PowerCMS バージョンによるもの、もしくは、必要なライブラリがインストールされていないなどが考えられます。
Copy2Public および PowerSync プラグインが SFTP 転送に利用する暗号化形式が接続先のサーバーで許可されていないため、接続を拒否されていることが原因です。
不正アクセスを防止する Protection プラグインによってサインインが禁止されている状態になっています。
モジュール Crypt::OpenSSH::ChachaPoly が利用できないことが原因でエラーが発生しています。
Windows Server を再起動して Perl モジュールが認識されるようになるかご確認ください。
backup ディレクトリにはリビジョンのデータが保存されており、リビジョンは PowerCMS 管理画面から削除を行ってください。
DynamicMTML や ダイナミックパブリッシングなどの動的処理は、ブラウザでのアクセスを .htaccess が .mtview.php へ渡し、管理画面側で「DynamicMTMLを有効にする」にチェックが入ってる場合に動作します。確認方法については複数ありますので、状況に合わせご確認ください。
環境変数 ContactFormRequireToken を設定してください。
これを設定すると、確認画面にて期限付きのワンタイムトークンが自動発行されます。投稿する際にこのワンタイムトークンが付与されたフォームの送信のみ許可されるため、CGI へ直接リクエストを送るようなスパムをブロックできます。
PowerCMS 4.0 以降で Office Open XML 形式のファイル (拡張子が docx, xlsx, pptx) を検索できます。
記事の URL の末尾、ファイル名の後に #○○○ と数字が出力されることがあります。 これは、ブログの「優先アーカイブタイプ」設定が「記事」以外に設定されている場合、各アーカイブページ内のアンカーとして記事の ID が出力されるためです。
出力しようとしているファイルサイズが大きすぎる可能性があります。.mtview.php 内に記載されている変数 $size_limit の値 を大きくすることで解消されます。
この場合、テンプレートの記述を減らしていった場合に正常な出力となる特徴的な現象になります。
下記のエラーメッセージが表示されます。
Not a CODE reference at lib/MT/CMS/User.pm line 270.
原因
Copy2Public プラグインと PowerSync プラグインの両方が設置されており、かつ有効になっている
対処
Copy2Public プラグインと PowerSync プラグインを同時に設置しない
Google Analytics Ranking プラグインの設定「上位ページ取得数」で、取得されるデータの中にランキングの対象となる記事が見つからないためデータベースへ PV が保存されずアクセスランキングが出力されていない可能性があります。
システムの検索結果の一覧は、リスティングフレームワークを利用していないため、環境変数 TimeOffset が指定されていない場合は、GMT+0 で時間が表示されています。
HTTPS で管理画面にアクセスしている状態で、 XMLHttpRequest による HTTP を使った通信が発生すると生じるエラーです。 XMLHttpRequest による通信も HTTPS を使うように設定することで解決されます。
具体的には、 mt-config.cgi の CGIPath の設定値を https:// から始まる値に書き変えます。
設定例)
CGIPath /cgi-bin/mt/ となっている箇所を CGIPath https://example.com/cgi-bin/mt/ に変更する。
本対応で解決されない場合、リバースプロキシなどによって HTTPS アクセスが HTTP のアクセスに変換されていないか確認してください。
同梱されている TinyMCE のバージョンが低く、IE 11 に対応していないことが原因です。
下記のブログ記事で修正ファイルを配布しておりますので、ダウンロードの上、環境に設置ください。
日付型カスタムフィールドの basename の最後に「_on」をつけることで、Microsoft Excel で開ける形式のデータを出力することができます(foo という basename であれば、foo_on とする)。
これらの対策がとれない場合は、カスタマイズ対応が可能です。お問い合わせください。
CSV を修正する際に、エクセル(Microsoft Excel)を利用することで、意図せず値が変更されることがあります。
確認画面で何も表示されない場合には、該当のフォーム編集画面の「テンプレート」欄で、フォームを出力するのと同じアーカイブテンプレートが選択されているかご確認ください。
テンプレートが未選択であったり、適切でないテンプレートが選択されている場合、CGI でエラーとなり画面が真っ白で何も表示されない状況が発生します。
互換表示モードの設定がされている場合、設定を解除してください。
Web サーバが Apache HTTP サーバで、MT のアプリケーションディレクトリに対して設定が可能な場合、X-UA-Compatible HTTP 応答ヘッダーを送信して、互換表示モードを強制的に無効化することも可能です。
相対パス変換機能( Abs2Rel プラグイン)は、JavaScript でのリンク等は置換しません。変換の必要がある場合、regex_replace モディファイアを使ってテンプレート側で変換する方法を検討ください。
Accessibility プラグインをインストールした状態で、プラグイン設定で「ファイル全体に対してフィルタを有効にする」にチェックを入れ、尚且つ、「パラメータ」を「0」にしていると、script タグが削除されます。この場合、「パラメータ」で「0」または「5」以外の値を直接指定してください。
例: 1,2,3,4,6
記事を作成したユーザーが削除されている場合、その記事は検索に表示されなくなります。該当記事のユーザーが削除されていないか確認してください。
CGIPath と StaticWebPath の設定を確認してください。
例えば、以下のような設定になっている時、管理画面に「www」なしの http://example.com/mt/ でアクセスしていると、このような事象が発生する場合があります(クロスドメインとなり Ajax 処理ができない)。
ダンプファイル等からデータベースを移行 / 復元した際に発生する可能性があります。
mt_plugindata テーブル(プラグイン設定)が何らかの原因で正しく引き継げていないことが問題で、SQLで直接問題のある列を削除する必要があります( mt_plugindata の中身がバイナリデータのため、テキストエディタなどでの変換などを行った際に壊れることがある)。
必須プラグインを無効化してしまったことが原因です。以下のいずれかの方法で解消できます。
- mt-config.cgi で必須プラグインを強制的に有効にする
(例:PluginSwitch CustomObjectConfig=1) - mt/addons をリネームし、管理画面からプラグイン名に Config の付くものを再度有効化、その後 mt/addons を元に戻す
「ブログの全般設定」画面を保存し直す事で解消します。 前後のブログ記事は、mt_blog テーブルの blog_archive_type_preferred カラムが空だと再構築されません。 blog_archive_type_preferred カラムは「ブログの全般設定」画面の「優先アーカイブタイプ」が保存されます。
ページ送りが表示されない場合、以下をご確認ください
同じ機能を持つプラグインが複数設置されている可能性があります。 プラグインディレクトリに存在する拡張子 .pl のファイルはすべてプラグインとして読み込まれて動作します。そのため、例えばファイル名が異なっても同じ動作を行うファイルが存在する場合、すべてプラグインとして重複して動作します。
ダイナミックパブリッシング(DynamicMTML)では、<MTAsset> </MTAsset> で TIFF 形式およびビットマップ画像形式 (BMP) のファイルをサポートしていません(JPEG / PNG / GIF 形式のみサポートしています)。
ダイナミックパブリッシング(DynamicMTML)の設定を確認してください。mt-config.cgi に環境変数「DebugMode 1」を指定することで、<$MTErrorMessage$> タグが詳細なエラーを表示するようになりますので、エラーの内容を確認してください。
ページの途中までしか表示されない原因は PHP を実行するためのメモリが足りない可能性があります。mtview.php(.mtview.php)の先頭付近に「ini_set( ‘memory_limit’, ‘64M’ );」のように記述するか、php.ini で memory_limit の指定値を上げてください。