このページのテーマは、ずっとAttitudeを使っていたのですが、新しいテーマも良いのがたくさん出てきて、Cocoonに変えることにして、まさに昨日、その作業をして結構はまってしまったので、メモとして残しておきます。
お名前.comサーバーを使っていますが、以下の2つでトラブりました。
- PHP5.6から7.3への変更
- php.iniを使って最大アップロードサイズの変更
実は、他のサイトで、Xサーバー上でCocoonを使っていて、とても良いテーマだと思ったので、このページもCocoonに変えようと思ったのですが、子テーマの方は問題なくインストールできたのですが、Masterテーマがインストールできません。
どうしたことか?
と、ここから戦いが始まりました。
全部、解決したのは、今日の午前3時ころです。トホホ。。。
まず、いろいろと検索すると、Cocoonの開発者でもあるわいひらさんが、いろいろとヒントを出してくれていました。
最初に見つけたのが、PHPを5.6から7.1にあげたらインストールできたという下記の記事です。
で、確かにPHP5.6を自分も使っていて、いずれ上げなければいけないと思っていたので、この機会に上げることにしたのですが、そこでまたトラブルです。
上記と同じで、「サイトに重大なエラーがありました。」と出ます。
再度、いろいろと調べてみますが、一番多いのは、テーマやプラグインを最新のバージョンに上げること、次に、PHP compatibility checker で整合性をチェックして、問題のあるプラグインなどを外して対処すること、ということでした。
まず、すべてのプラグインと、現状のテーマ、Attitudeを最新にアップしますが結果はNGでエラー状態が続きます。次にPHP Compatibility checker で検証しますが、特に問題がありません。
このCompatibility checker がとても時間がかかるのです。すべての結果が出るのに2時間以上かかったと思います。
Checkerでわからなければ、デバグモードにして調べてみろという内容の記事が多いのですが、それもやってみたのですが、エラー内容をうまく取り出すことができません。(これはまた別の問題だと思いますが、これについてはスキップします。)
まあ、できれば直接的な解決策がどこかに出てないかと、更に検索を続けてみるとまず出てきたのが、Crayon Syntax Highlighterのエラーだという記事(下記)だったのですが、該当のファイルがありません。ここを頼ろうと、少し時間を使ったのですが、自分のケースと当てはまらないと断念します。
次に見つけたのが、Exec-PHPが原因だという下記の記事でした。
藁をも掴む思いで、記事にあるように10個のファイルを調べてみると、書いてある通りになっています。これは期待できそうと、指示通りに全部で30か所くらいの修正をします。
お名前サーバーでは、ファイルを直接編集できないので、10個のファイルを順々にダウンロードして、必要な修正をしてアップロードをします。危なっかしいことをしている意識はありましたが、バックアップもとって、10個のファイルを修正後にもう一度見てみると、やっぱりNGで、ちょっとがっかり。
でも、危なっかしいことをしていた意識があったことが良かったかもしれません。修正時のミスなどがないか、もう一度10個のファイルをチェックしたら、ありました。1か所だけ修正ミスが!!!
これを修正したところ、見事にページが復活しました。
良かった~!!!
さあ、これでCocoonをインストールできると、すぐにやってみると、なんとまたインストールできません。
ありゃりゃ。。。。。
また、振り出しに戻って、「Cocoon インストールできない」で検索。
出てきたのは、upload_max_filesize を超過しているということ。
デフォルトでは2Mなんですよね。これでは、今回の問題が解決できたとしても、その後ボトルネックになると思い、何とかしようと頑張ります。
これは、php.ini というファイルを修正することで対応できる、というのは他のサーバーでは経験済みだったので、そうか、じゃあもうすぐ出来るなと思ったのが、浅はかでした。
「お名前 php.ini」で検索すると、結構たくさんの記事が出てきます。
実際にトラブルになって困った人も結構多いのに驚きましたが、それでも解決策はシンプルで、悩んだ割に解決策は簡単だったという記事が多かったです。例えば下の記事など。
ところが、私の場合、うまく行きません。
info.php で設定されている内容をチェックして、php.iniというファイルで
[php]
php_value memory_limit 30M
php_value post_max_size 30M
php_value upload_max_filesize 30M
php_value max_input_time YY
[/php]
のように記載し、UTF-8でセーブして、ドメイン直下に転送しろ、という指示を何度も確認しますが、うまく行きません。ちなみに、上記30Mのことろは、20M~50Mくらいの大きさで、
memory_limit >= post_maz_size >= upload_maz_filesize
の関係での設定です。
検索する限り、うまく行かない例はほぼなく、これでうまく行かないなら、何かを間違っている、ということを言ってる人もいました。
これで2時間は悩み、試行錯誤していたと思います。
このときの、エラーメッセージは、以下のようなもの(これは後から再現させたもの)でした。
このエラーから、jetpackプラグインに関する問題と考えて、まず、jetpackを停止させました。
しかし、まだエラーはなくなりません。今度は少し違うメッセージで、この現象は、今再現できないので、記憶をたどると、All in one SEOに関するファイルでのエラーだったのですが、ここで、メッセージの内容は忘れたものの、設定サイズが大きすぎるようだったので、以下のように変えてみました。
memory_limit = 128M
post_max_size = 10M
upload_max_filesize = 10M
max_input_time = 60
memory-limitの128Mは、info.phpで調べた現状の値です。
この設定をしたところ、問題は見事解決しました。
あ~良かったぁ~。
その後ですが、予定通りテーマをAttitudeからCocoonに変更し、Cocoonとして必要な設定を行って、現状に至ってます。
ここに至って、もう一度、post_maz_sizeとupload_max_filesizeを30Mにしてみたところ、エラーなく動作していることを確認しました。
ところが、Jetpackプラグインをもう一度有効化すると、上記でお見せしたエラーが発生します。
今は、128M、10M、10Mの設定で動作させています。
まだまだ分からないことも多いのですが、当面はこの状態で運用していきます。
コメント