公開日:

【解決】BizVektorをPHP7にアップグレードしたらエラー「Fatal error:break」が出て、ログインできない

WordPress無料テーマ「BizVektor」での運用名k、PHPののバージョンを7.2にしたら大変!

以下の問題を解決していきます。

  • ダッシュボードにログインできない
  • エラーが表示されて、サイトが真っ白になった

とあるお客様からご相談いただき、問題を解決した方法を実例とともにに紹介します。

 

BizVektorをPHP7にアップグレードしたらエラー「Fatal error:break」が出て、ログインできない

環境

  • レンタルサーバー:ロリポップ
  • 利用プラン:ライト
  • WordPress: 5.3.2
  • PHP:5.6 CGI版
  • プラグイン:多数利用中
  • テーマ:BizVektor(Version: 1.1.0)

 

PHP7にアップグレード後の症状

  • ダッシュボードにログインできない(表示されない)
  • サイト:以下のエラーが表示される
Fatal error: ‘break’ not in the ‘loop’ or ‘switch’ context in
/公開フォルダ/wp-content/themes/biz-vektor/design_skins/003/003_custom.php on line 23

 

 

解決方法

エラーを出力しているファイル「003_custom.php」を修正します。

23行目の「break」をコメントアウトするだけです。

それ以降、PHPをアップグレードしたPHP7.2環境で運用できるようになりました。

 

修正前の003_custom.phpの抜粋


<?php

/*-------------------------------------------*/
/* Judge rebuild
/*-------------------------------------------*/
/* Admin page _ Add link bottom of pulldown
/*-------------------------------------------*/
/* Setting customizer
//*-------------------------------------------*/
/* Get 'rebuild' options
/*-------------------------------------------*/
/* Print head
/*-------------------------------------------*/

/*-------------------------------------------*/
/* Judge rebuild
/*-------------------------------------------*/
function is_rebuild(){
if (function_exists('biz_vektor_theme_styleSetting')) {
$options = biz_vektor_get_theme_options();
if ( $options['theme_style'] == 'rebuild' || $options['theme_style'] == '' ){
return true;

break;
} else {

修正後の003_custom.phpの抜粋

<?php

/*-------------------------------------------*/
/* Judge rebuild
/*-------------------------------------------*/
/* Admin page _ Add link bottom of pulldown
/*-------------------------------------------*/
/* Setting customizer
//*-------------------------------------------*/
/* Get 'rebuild' options
/*-------------------------------------------*/
/* Print head
/*-------------------------------------------*/

/*-------------------------------------------*/
/* Judge rebuild
/*-------------------------------------------*/
function is_rebuild(){
if (function_exists('biz_vektor_theme_styleSetting')) {
$options = biz_vektor_get_theme_options();
if ( $options['theme_style'] == 'rebuild' || $options['theme_style'] == '' ){
return true;

//break;
} else {

 

どうやってテーマ内にある003_custom.phpを編集するの?

以下、いずれかの方法でファイルを編集します。

  1. レンタルサーバー会社のファイル管理ツールを使う
  2. FTPツールを使う
  3. sshを使う

 

レンタルサーバー会社のファイル管理ツールを使う

レンタルサーバーのコントールパネルから、サーバー上にあるファイルを編集するツールを使い、ファイルの中身を書き換えます。

各サーバー会社ごとに名称や画面は異なりますが、ほとんどのレンタルサーバー会社がツールを提供しています。

ファイルは以下のフォルダにあります。

wp-content/themes/biz-vektor/design_skins/003/

ツールでアクセスし、「break」の行を編集すれば作業完了です。

FTPツールを使う

レンタルサーバー会社がファイルの編集ツールを提供していない場合は、FTPツールを使いましょう。

  1. 「003_custom.php」をFTPダウロード
  2. ローカル環境でファイルを編集
  3. FTP上書きアップロード

 

以上で作業完了です。

sshを使う

sshでアクセスしviでファイルを編集しましょう。

$ssh hostname
$vi パス/003_custom.php

 

以上で作業完了です。

003_custom.php編集後もエラーが出る場合


PHPのアップグレー後にサイトに不具合が発生する原因は以下2パターンです。

  1. プラグインに問題がある
  2. テーマに問題がある

プラグインの調査

有効化しているプラグインをひとつずつ停止しながらサイトの動作確認を行いましょう。
問題のプラグインを簡単に特定できます。

例:サイトに問題が発生している
 プラグインAを指定したら、サイトが復旧した。
 →原因はプラグインA。

エラーが出てワードプレスのダッシュボードにログインできない場合は、FTPかレンタルサーバーの管理ツールを使い、プラグインのフォルダ名を変更することでプラグインを停止できます。

WordPressのプラグインが削除・停止できない【解決】

テーマの調査

プラグインを停止しても問題が解決しない場合は有効化しているテーマを確認しましょう。

テーマにファイルが、アップグレードしたPHPに対応していない場合にサイトに不具合が発生します。問題のあるコードを特定し修正する作業が必要になります。

テーマの不具合の確認方法と修正方法については、以下の記事にまとめてあります。

それ大丈夫?PHPバージョン変更前に互換性をチェックできるプラグイン「PHP Compatibility Checker」

それでも問題を解決できない場合はPHP切り戻すことになります。
エラーが出てどうしようもない場合や、今回紹介した手順で問題が解決しない場合はPHPのバージョンを元に戻しましょう。
レンタルサーバーによっては、PHPバージョンの切り替え反映に5分~10分程度かかります。

 

【補足】BizVektorのサポートは終了しています

BizVektorの提供元である株式会社ベクトルのサイトでBizVektorのアップデート終了がアナウンスされています。

【重要】今後のBizVektorとアップデートのお願い

BizVektorはワードプレス公式テーマではありませんが、人気のテーマです。
当方でもたくさんのお客様からカスタマイズのご依頼をいただいておりました。

BizVektorユーザーには、公式テーマ「Lightning」への移行を推奨しているようです。
Lightningは、BizVektor開発元が提供している無料テーマです。こちらのテーマは、ワードプレス公式ディレクトリーに登録されているテーマです。

デザインや機能も、BizVektorに非常に似ています。
どのような業種のサイトに会いますが、コーポレートサイトで利用されているのをよく目にします。BizVektorユーザーにとっては、管理画面に慣れている分、かなり使いやすいテーマだと言えます。

 

まとめ

いかがでしたか?
PHPバージョンアップ後、サイトが表示されるようになりましたか?

実際の運用では、事前の検証を行うことをお勧めします。
テストを行わずシステムのアップグレードを行うと、意図しないダウンタイムが発生する可能性があります。

ビジネス上、マイナスな影響の出ないようサイトを運営したいですね。

本記事が皆さんのお役に立てば幸いです。

 

 


人気記事 初心者でも可能なSEO対策って何?


人気記事 【ゼロから始める】副業ブログで月5万円を稼ぐ!当社スタッフが試してみた方法と成果を公表


この記事を書いた人
うくさ

うくさ IT業界歴18年です。当カスタマイズネット所属エンジニア。
ワードプレス、シスコシステムズ社製ネットワーク機器担当。


この記事の関連記事



新着コラム