お名前SDサーバーPHP8.4でWordPress移行エラーを直す方法

お名前.com共用サーバーSDのロゴを模したサーバー機器のイメージと、WordPressの移行エラーを表現した警告グラフィック。背景はダークテクノロジー調。 

お名前.comの共用サーバーSD(旧プラン)環境において、WordPressを最新のPHP 8.4へ移行・アップデートする際、多くのWeb担当者が陥る致命的な「落とし穴」があります。

手動移転やプラグインでのデータ移行時に、最大アップロード容量(初期値32MB)を増やしようとして「php.ini」を設置した途端、画面が真っ白になり「MySQL拡張を利用できない」というエラーでシステムが完全停止してしまうトラブルです。

この記事では、お名前.com特有のsuEXEC環境によるエラー原因を解明し、php.iniを一切使わずに「.htaccess」の書き換えだけで安全に200MB以上の容量制限を突破する、最も確実な解決策を備忘録として解説します。

1. なぜPHP 8.4でお名前SDサーバーにphp.iniを置くとエラーが出るのか

通常、WordPressの引っ越しプラグイン(All-in-One WP Migrationなど)で100MBを超えるデータを流し込む際、サーバーの最大アップロードサイズ(upload_max_filesize)を拡張するためにphp.iniを手動設置するのが一般的な手法です。

しかし、お名前.comの共用サーバーSD(suEXEC環境)では、独自にphp.iniを設置した瞬間に、サーバー側が標準で持っているMySQL(データベース)に接続するためのモジュール(mysqli等)がすべて強制リセットされて無効化されるという特殊な仕様が存在します。

特にお名前.com公式ヘルプの「パーミッション(ファイル権限)の制限」にもある通り、suEXEC環境下ではセキュリティが極めて厳しく、古いPHP世代で使われていた暗号化モジュール(例:xmlrpc.so)の命令が少しでも混ざっていると、システム全体が完全に衝突(クラッシュ)を起こし、以下の警告テキストがブラウザに表示されてしまいます。

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
mysqli PHP 拡張機能がインストールされ、有効になっていることを確認してください。
WordPressの管理画面で発生する、お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようですという白い警告エラー画面のスクリーンショット。

2. 最適解はこれ!.htaccessで容量制限を「M(メガ)」指定で一発突破する

このトラブルに対する最もクリーンで安全な解決策は、php.iniを一切使わず、WordPressフォルダの直下にある「.htaccess」のみで容量の上限を上書きするアプローチです。データインポート時に必要な容量を一時的に確保するために、以下のコードを記述します。

🛠️ .htaccessの最下部に書き足す3行の命令コード

php_value memory_limit 200M
php_value post_max_size 200M
php_value upload_max_filesize 200M

⚠️ 非常に重要なポイント:「G(ギガ)」指定は認識されない

お名前.comのシステム環境における最大の盲点として、容量を1G(1ギガバイト)のように「G」単位で指定してしまうと、サーバー側が数値を正しく解釈できずに無視され、32MBの制限に戻ってしまいます。必ず200M(メガバイト)のように「M」単位で厳密に数値を記述するのが、自力で検証した結果導き出した絶対の鉄則です。

※インポートが完全に完了し、プラグインによる復元が正常に終わった後は、通常のホームページ運用における記事投稿や画像アップロードにおいて32MB以上の巨大ファイルを扱うことは基本的にないため、この3行を削除してサーバー標準値(32MB)の運用に戻しても問題ありません。

3. もし「MySQL拡張エラー」の白い画面でフリーズしてしまった場合のリセット手順

すでにphp.iniを複数作成したり、記述が干渉してしまい、ファイルをゴミ箱に消してもなお「MySQL拡張が利用できない」という真っ白なエラー画面から復旧しない場合の、サーバー側システムバグを強制解除する手順です。

公式ガイドの「ファイルマネージャーでの属性変更」や「phpinfoを用いたPHP設定確認」を参考に、以下の手順に沿ってお掃除と再起動を行います。

  1. 原因ファイルを全お掃除:ドメイン直下やWordPressインストールフォルダ内にある、手動で作ったphp.iniファイルをすべて完全にサーバーから削除します。
  2. PHPバージョンのダウングレード:お名前.comコントロールパネルの「PHPバージョン設定」を開き、現在「8.4」になっている設定を、あえて一度「7.4」に変更して適用(保存)します。これにより、サーバー内部のルーティングが強制再起動されます。
  3. PHPバージョンの再アップ:WordPressのログイン画面が無事に戻ったことを確認できたら、再度お名前.comの画面で「8.4」に戻して再保存します。これで、バラバラになっていた内部のデータベース接続ルートが正しいPHP 8.4のディレクトリへ完全に再結合されます。

4. 移行完了後の最終仕上げ:セキュリティを高める並列ディレクトリの階層構造

セキュリティをより強固にするため、WordPressのコアファイルをドメインの直下(ルート)に丸出しにするのではなく、自動攻撃ボットから推測されにくい独自の秘密フォルダ(例:secret-cms-folderなど、ドメイン名やwpといった文字列を含まない名前)を作成して配置する手法が有効です。

データ復元後、閲覧者がアクセスする表側の表示URLをスマートなドメイン直下(http://your-domain.com)で一発表示させるために、以下の2ファイルの設定処理を行います。

FTPソフトでドメイン直下の並列階層に秘密のフォルダとindex.phpが正しく配置され、セキュリティが保護されている構造を表す抽象的なイメージイラスト。 

① index.phpのコピーとパスの書き換え

秘密のフォルダ(secret-cms-folder)内にあるindex.phpを、大元の直下(ルート階層)へコピー配置し、メモ帳等で開いて最下部の読み込みパスを以下のように修正します。

// 修正前
require __DIR__ . '/wp-blog-header.php';

// 🔄 修正後(作成した秘密のディレクトリ名を追記して繋ぐ)
require __DIR__ . '/secret-cms-folder/wp-blog-header.php';

② WordPress管理画面での一般設定変更

WordPressダッシュボードの「設定」>「一般」を開き、サイトアドレス (URL)の欄の末尾にあるフォルダ名(/secret-cms-folder)を完全に消去し、ドメインだけの形(http://your-domain.com)変更して保存すれば、全工程が完璧に完了となります。

5. まとめ&奈良でWordPress移行やサーバーエラーにお困りの方へ

お名前.com共用サーバーSD環境下において、PHP 8.4へのアップデートや手動によるサイト移転は、独特の仕様を理解していないと非常に難解なエラーの連続に悩まされることになります。

「AIの検索結果をそのまま真に受けて設定を量産するよりも、サーバー個別のエラー特性に耳を傾け、シンプルな.htaccessのコントロールに切り替えることが最大の解決への近道でした。」


💻 ホームページ制作・システム移行のご相談

弊社テクツ株式会社(奈良県奈良市)では、地域の中小企業を中心に、WordPressの安全なサーバー移行、IT導入補助金を活用したECサイト構築、受発注・在庫管理システムの導入、AI活用セミナーなどのIT分野を幅広くサポートしています。

「自分でドメインやデータベースの移行作業をしてみたけれど、500エラーやログイン不具合がどうしても直らない」「安全にサイトリニューアルを行いたい」など、社内のIT・Web周りでお困りのことがございましたら、お気軽に弊社公式サイトよりお問い合わせ・ご相談ください。

テクツ株式会社 公式サイトへ相談する

コメント