トラブルシューティング

目次

PHPのバージョンアップをしたら、表示されなくなった

Ver. 2.11.x 以下

ioncube loaderがうまく動いていない可能性があります。PHPのバージョンにあったioncube loaderをご利用ください。また、ioncube loader自体のバージョンが古い可能性もあります。動作条件にあったバージョンをご利用ください。それでも改善しない場合は、license.phpが古い可能性もあります。マイページより再ダウンロード(再生成されます)してお試しください。

Ver. 3.0.x 以上

PHPのバージョンがあっていない可能性があります。対応バージョンページを確認して、CMSのバージョンにあった、PHPバージョンを選択ください。

ユーザー名、パスワードは合っているのに、ログインできない

config.server.php の DOMAIN があっていない

現在表示しているURLとconfig.server.phpに記述されているドメインが一致しているかご確認ください。

Cookieを削除してみる

ブラウザのCookieをブラウザの開発ツールなどから削除してください。削除しても改善されない場合は、http:// 表示時とhttps://表示時で、それぞれCookieを削除してください。

ページの有効期限が切れています

このメッセージが出る場合は、セッションが維持できていない可能性があります。リバースプロキシなどのインフラが関係している可能性があるので、インフラ担当者にセッションが維持できるようになっているか、ご確認ください。

画像がアップロードできない

archives, arcihves_dir, media ディレクトリ(内部ディレクトリ含め)のパーミッションをWebサーバが書き込めるようにご確認ください。それでもダメな場合は、画像エンジンを切り替えてみます。画像エンジンは GD と ImageMagick があり、ImageMagick が使える場合は、デフォルトでImageMagickになります。以下のコードを private/config.system.yaml に追記することにより、GDを使うようになります。

image_magick : off

アップロードできないファイルがある

セキュリティ対策で、アップロードできるファイルを制限しています。アップロードしたいファイルの拡張子を追加するには、管理ページ > コンフィグ > 編集設定 の アップロード許可ファイル拡張子 に追加ください。

ユニット数が多いと保存に失敗する

サーバーの設定で制限されている可能性があります。以下の項目をチェックしてみてください。また現在の設定は、管理ページ > チェックリスト でも確認することができます。

制限



項目 説明 デフォルト アクセスレベル
upload_max_filesize 最大アップロードファイルサイズ 2M PHP_INI_PERDIR
post_max_size 最大POSTサイズ 8M PHP_INI_PERDIR
memory_limit 最大利用メモリーサイズ 128M PHP_INI_ALL
max_file_uploads アップロード出来るファイル数 20 PHP_INI_SYSTEM
max_input_vars input要素の最大数 1000 PHP_INI_PERDIR

アクセスレベル



アクセスレベル 意味
PHP_INI_USER ユーザースクリプト(ini_setなど)で設定可能なエントリ。.user.ini でも設定可能
PHP_INI_PERDIR php.ini, .htaccess, httpd.conf あるいは、 user.ini で設定可能なエントリ
PHP_INI_SYSTEM php.ini, または httpd.confで設定可能なエントリ
PHP_INI_ALL どこでも設定可能なエントリ

設定方法



ファイル 記述例
php.ini, .user.ini memory_limit = 256M
.htaccess php_value memory_limit 256M
phpファイル ini_set('memory_limit', '256M');

他の制限で引っかかっている場合もありますので、詳しくは http://php.net/manual/ja/ini.core.php をご覧ください。

Google Map が表示されない

Google Map APIのAPI Keyを設定する必要があります。未設定の場合は、地図(Google Map)ユニットのページを確認し対応を行ってください。 複数のAPIを有効にする必要があります、設定忘れがないか再度確認をしてください。

編集時のGoogle Map検索など一部機能が動作しない

Google検索APIなど他のサービスを同時に利用している場合が考えられます。編集時はGoogle検索APIが動かないようにしたり、次のようにACMS.Readyで囲み、実行のタイミングをずらしてください。

<script>
  ACMS.Ready(function(){
    var cx = 'ここにコードが入ります';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  });
</script>

エントリー保存時や設定変更時に固まってしまう(Ver. 2系)

* この内容は Ver. 3系では、この機能自体廃止されているので発生しません。

サーバーの構成変更時などに、エントリー保存や設定変更などPOST操作を行うと固まってしまい、タイムアウトエラーが出る時があります。

この場合、ダッシュボードから設定できる「キャッシュ生成リスト」が設定されていないかご確認をお願いします。 この機能は、POST時に自動的にキャッシュを生成するようにHTTPリクエストが飛ぶようになっているのですが、 サーバーの変更でこの機能が動作しなくなってタイムアウトしている可能性が考えられます。


バックアップに失敗する

バックアップ機能が途中で止まってしまう場合、zipへの圧縮に失敗している可能性があります。圧縮に失敗する理由として圧縮に一時領域を使用するのですが、サーバーによって一時領域が足りず失敗してしまうことがあります。

これを解決するために、一時的に一時領域の場所を変更することで解決することがあります。

config.server.php に以下1行を追記します。「/path/to/tmp」は環境に合わせたパスを設定ください。(ドキュメントルートの一階層上など)

putenv('TMPDIR=/path/to/tmp'); // ドキュメントルートより上の階層を設定ください

Ver. 2.11.0 未満からアップデートしたらHTMLタグが表示されるようになってしまった

Ver. 2.11.0 から 校正オプションの仕様が変わり、校正オプションが指定されている場合も自動でサニタイズ(エスケープ)処理がされるようになりました。 これにより、意図していないHTMLがタグのまま表示されてしまう可能性がございます。

詳細・対応方法は以下をご覧ください。

バックアップやリストア、CSVインポートなどで、プログレスバーが動かなくなる

バックアップやリストア、CSVインポートなどバックグラウンドで実行する機能で、何かしらの理由により処理が止まってしまった場合、プログレスバーがそのままの状態で動かなくなってしまう場合があります。

修正方法

この場合、a-blog cms 設置場所にある、cache ディレクトリ内にあるファイル(.htaccess以外)を削除していただくことで、プログレスバーを止めることができます。

.htaccess は削除しないでください。


お問い合わせフォームが確認画面に進まない

お問い合わせフォームで、確認画面に進もうとしてもエラーもでず、進めない状況になった場合、何かしらバリデーションで引っ掛かっている可能性があります。

バリデーションを設定する方法は2つあります。1つは、テンプレートで設定する方法と、管理画面で設定する方法です。 テンプレートでバリデーションをかけている場合は、エラーメッセージも同時に記入すると思うので、今回のトラブルの場合は意図していないバリデーションを管理画面に設定している可能性があります。

管理画面でのバリデーション

管理画面 > フォーム > 該当フォームの変更 の「入力チェック・変換」項目に意図しないバリデーションがないかチェックください。


接続元IPアドレスが正しく取得できない・ログイン制限が正常に動作しない

接続元IPアドレスのグローバル変数が正しく取得できなかったり、ログの接続元IPアドレスやログイン制限が正しく動作しない場合がございます。

これはリバースプロキシやCDN、ロードバランサーなどが入っている場合に、正しい接続元IPアドレスが取得できないためになります。

対策方法

リバースプロキシなどが入っている環境でも正しく接続元IPアドレスを取得するには「config.server.php」の「TRUSTED_PROXY_LIST」に信頼できるプロキシのIPアドレスを設定ください。

複数ある場合はカンマで区切って指定します。

define('TRUSTED_PROXY_LIST', 'xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy');

これは「X-Forwarded-For」HTTPヘッダーから接続元IPアドレスを取得するときに、偽装された接続元IPアドレスを取得しないようにするための対策となっております。 (「X-Forwarded-For」は簡単に偽装できるため)

ログアウトすると、組み込みJSが動作しない

ログアウト時に組み込みJSが動作しない場合は、組み込みJS自体が読み込まれていない可能性があります。

「developerテーマ」は標準で、投稿者以上でログインしている時のみ組み込みJSを読み込むようになっているので、「developerテーマ」ベースで開発を行うとこのようなことになります。

「developerテーマ」が組み込みJSを読み込まないようになっているのは、パフォーマンスを考えたためになります。 組み込みJSはさまざまなJSが含まれていて使わない機能も多いので、ログアウト時は組み込みJSを読み込まないようになっております。

修正方法

特にJS読み込み周りをカスタマイズしていない場合、以下対応をすることで、ログアウト時にも組み込みJSを読み込むことができます。

修正ファイル: themes/ご利用テーマ/include/head/js.html

修正前

<!-- 投稿者以上以上の場合だけ組み込みJSを読み込むようにする -->
<!-- BEGIN_MODULE Touch_SessionWithContribution -->
<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->
<!-- END_MODULE Touch_SessionWithContribution -->

修正後

<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->

アップデートしたら管理画面にスタイルが当たらなくなった

アップデートしたら管理画面にスタイルが当たらなくなってしまった場合、以下の原因が考えられます。

  • 管理画面のCSSが適用されていない
  • バージョンが古いテンプレートを使用している

詳しく説明していきます。

管理画面のCSSが適用されていない

a-blog cms の管理画面のCSSは、/themes/system/css/ディレクトリに設置されています。
以下のCSSがなかった場合、正常にページが表示されない可能性があります。

  • normalize.min.css
  • acms-system.min.css
  • acms-admin.min.css

アップデート時にうまくアップロードされていなかった場合、再度アップロードし直すことで解決できます。

CSSがうまくアップロードできていなかった場合は、以下のような特徴があります。

  • 一切管理画面のスタイルが適用されておらず、HTMLのデフォルトのスタイルが適用されている
  • サイドナビゲーション項目がページの上部に表示される


バージョンが古いテンプレートを使用している

古いテンプレートを使用している場合に、正しくスタイルが適用されない可能性があります。

よくあるパターンとしましては、/admin/blog/edit.htmlなどの一部分のファイルを使用しているテーマに設置しており、一部分だけスタイルが適用されていないケースです。
Ver.1系から使用されているサイトでとくにみられるケースです。たとえばブログ管理のページで、Ver.1系の/admin/blog/edit.htmlを適用していると以下の図のような状態になります。



Ver.1系の/admin/blog/edit.htmlを適用している場合は、以下のような特徴があります。

  • ツールチップが四角の画像になっている
  • 保存、戻るボタンがページ内の下部に設置されている
  • 「基本設定」「カスタム設定」「エクスポート・インポート」などのタブがない
  • サイドナビゲーションや、トピックパスにはスタイルが適用されている

この場合の解決策としては、原因となっているテンプレートをリネームまたは削除することで解決できます。
もし何らかの理由でアップロードしている場合は、/themes/system/から新しいテンプレートを複製し、カスタマイズし直してください。

エントリー保存や特定ページで403エラーが出て保存・表示ができない

特定ページ(パスワード変更画面など)や特定の操作(エントリー保存など)で、 403エラー が出て、保存や表示ができない場合、 WAF(Web Application Firewall) が反応している可能性があります。

この場合、一度サーバーのコントロールパネルなどから、WAFを無効にして問題を切り分けてから、WAFの設定を調整していただくか、サーバー管理者にお問合せください。

WAFとは

WAFとはセキュリティ対策の一種で、Web Application Firewall(ウェブ・アプリケーション・ファイアウォール)の略です。 サイトなどのWebアプリケーションの保護に対応します。

GIF画像がアップロードできない

メディア機能などで、PNGやJPEGはアップロードできるが、GIF画像がアップロードできない現象が起こる場合があります。

これは、画像エンジンに GD を使用していて、WebP画像 をサポートしている場合に、サーバー環境によって、GIF画像からWebP画像が生成できずにエラーが出てしまうためとなります。

対策1

対策の1つとして、画像エンジンを GD ではなく、ImageMagick に変更する方法があります。(デフォルトは ImageMagickprivate/config.system.yaml に以下記述をすることで、画像エンジンを GDからImageMagickに変更できます。

image_magick : on

注意点として、サーバー環境によっては、ImageMagickを利用できない環境もあります。利用できない環境では、上記設定をしても画像エンジンは GD のままとなります。

対策2

もう一つの対策は、WebP画像サポートをやめることです。 private/config.system.yaml に以下記述をすることで、WebP画像の生成を止めることができます。

webp_support: off