サポート » 使い方全般 » PHP5.4.27へのバージョンアップ後に新規投稿と記事の編集ができない

  • レンタルサーバー会社が、PHPを5.2.6から5.4.27に、バージョンアップしました。

    おそらくその結果だと思うのですが、古いWordPresss ME2.1.3のブログ上に、たくさんのエラーが表示されました。

    現在は、そのエラーの表示は、レンタルサーバー会社のテクニカルスタッフの人に、非表示にしていただいています。

    もうPHP5.2.6には戻せないということで、WordPress ME2.1.3と同じサブドメインのURLに、別のデータベースを使って、WordPress 3.8.3をインストールしました。

    そして、phpMyAdminを使って、古WordPress ME2.1.3のwp_postsの記事をインポートしました。

    この記事が文字化けしたことも解決しようと奮闘中なのですが、まずはWordPress 3.8.3の管理画面の「投稿一覧」に表示されている記事の「編集」のリンクをクリックしても、「新規投稿」のリンクをクリックしても、ブラウザのGoogle Chromeで、「データを受信していません」と表示される問題を解決したいと思っています。

    記事の編集も、新規投稿も出来ず、本当に困っています。

    さまざまなバージョンのWordPressを使っているので、他のバージョンについても調べてみました。

    すると、以下のバージョンのWordPressも、同じ現象で、記事の編集も、新規投稿もできません。

    WordPress 3.3.2
    WordPress 3.5.2

    一方、以下のバージョンのWordPressは、記事の編集画面も、新規投稿の画面も表示されます。

    WordPress ME 2.1.3
    WordPress 2.7.1
    WordPress 2.8.6
    WordPress 3.2.1

    インターネットで、記事の編集画面や新規投稿の画面が開けないケースを調べて、htaccessに以下の記述を追加してみました。

    php_value max_execution_time 60
    php_value memory_limit 64M

    wp-config.phpに以下も追記してみました。

    define(‘WP_MEMORY_LIMIT’, ’64M’);

    しかし、今も記事の編集も、新規投稿もできません。

    WordPress 3.8.3の場合は、インストールしたばかりなので、プラグインは使っていません。

    レンタルサーバー会社の人に、WP_DEBUGでエラーの状況を調べてもらうと、以下のようなエラーが表示されました。

    PHP Notice: Use of undefined constant indent_entry_body – assumed ‘indent_entry_body’ in /wp-content/themes/wp.vicuna/functions.php on line 381

    PHP Notice: Trying to get property of non-object in /wp-includes/user.php on line 109

    このため、テーマを、Twenty Twelveに変更しました。

    user.phpのエラーが該当する箇所は、以下です。

    $_selected = selected( $user->ID, $selected, false );
                $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
                $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";

    WordPressには、管理者権限でログインしていますが、user.phpでエラーが出るということは、この管理者権限がPHPのバージョンアップによって、上手く機能していないということもあるのでしょうか?

    PHPの互換性について調べみると、PHPを5.2.6から5.4.27では、随分と変わっているようです。

    PHP 5.2.x から PHP 5.3.x への移行
    下位互換性のない変更点
    http://us3.php.net/manual/ja/migration53.incompatible.php

    PHP 5.3.x から PHP 5.4.x への移行
    下位互換性のない変更点
    http://us3.php.net/manual/ja/migration54.incompatible.php

    現在、記事の編集も、新規投稿もできない、以下のWordPressで、記事の編集も、新規投稿もできるようにするには、どのような解決策が考えられるでしょうか?

    WordPress 3.3.2
    WordPress 3.5.2
    Wordpress 3.8.3

    アドバイスを、よろしくお願いします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • WordPress 3.8.3を新規インストールした直後の状態で

    記事の編集も、新規投稿もできない

    のでしょうか?
    だとすると、そのサーバーが、WordPress 3.8.3 に対応していないのかもしれません。

    それとも新規インストールでは問題が無く、
    古いバージョンから移行したら、投稿の編集ができないのでしょうか。

    こんにちは

    phpMyAdminを使って、古WordPress ME2.1.3のwp_postsの記事をインポートしました。

    この記事が文字化けしたことも解決しようと奮闘中なのですが、

    あいまいな記憶ですが、MEは、文字コード EUCではなかったでしょうか、現在のWordPressは、UTF-8なので、そのあたりの関係かもしれません。

    また、古いWordPress(3.4以前)に新しいタイプのテーマをインストールするような場合も、
    Fatal errorが出ると思います。

    メモ

    なので、古いWordPressに新しい、デフォルトテーマなどを使うのは問題をさらに複雑にする可能性があります。

    トピック投稿者 mimi-mimi

    (@mimi-mimi)

    皆さん、ご回答を、ありがとうございます。

    ずっと困っているので、ご回答をいただけると、本当に嬉しいです。

    > WordPress 3.8.3を新規インストールした直後の状態で
    > 記事の編集も、新規投稿もできないのでしょうか?

    インストール直後に、サンプルのhelloの記事が表示されているのは確認しましたが、それが編集できるかを確認せずに、他のデータベースに残してある、古いWordPress ME2.1.3のwp_postsの記事を、phpMyAdminでインポートしてしまいました。

    その記事の一覧が表示されてから、各記事の「編集」のリンクを押しても、その編集ページが表示されず、Google Chromeで、「データを受信していません」と表示されます。

    新規投稿に関しても、インストール直後には確認しませんでした。

    今は記事の編集と同じように、Google Chromeで、「データを受信していません」と表示されます。

    今回のPHP5.4.27後の問題は、前回の投稿でも少し触れましたが、記事が文字化けしている問題もあります。

    WordPresss ME 2.1.3の場合、phpMyAdminのwp_postsのpost_contentとpost_titleが文字化けしているのですが、記事を表示すると文字化けしていません。

    しかし、WordPress 3.8.3にインポートしたwp_postsのpost_contentとpost_titleは、phpMyAdminのwp_postsのpost_contentとpost_titleも、表示した記事も文字化けしています。

    そのため、レンタルサーバー会社の人が、MySQLの表のデータを、バイナリ (binary) に変更し、Wordpress 3.8.3の記事一覧で、文字化けせずに、各記事のタイトルを日本語で正確に読むことができるようになりました。

    ただ、phpMyAdminのpost_contentとpost_titleが、[BLOB – 6.2KiB]や[BLOB – 9バイト]のように表示されてしまい、各記事のコンテンツやタイトルが、phpMyAdmin上で日本語表示されていません。

    WordPress ME 2.1.3は、MySQLの照合がlatin1_swedish_ciだっただそうですが、WordPressのバージョン2.2以降は違っているようですね。

    つい最近、以下の記事を見つけました。

    Converting Database Character Sets
    http://codex.wordpress.org/Converting_Database_Character_Sets

    文字化けの問題に関しては、この記事を参考に、修正しなければならないだろうなと思っています。

    ただ、SQL等の技術的なことに関する知識がなく、初めてのことなので不安ですが・・・

    文字化けの方に話がそれてしまいましたが、WordPress 3.8.3をインストールした直後の状態ではなく、上記のような変更をしている状態です。

    > そのサーバーが、WordPress 3.8.3 に対応していないのかもしれません。

    このような可能性もあるのですね。

    サーバーのWordPressに関係しそうな仕様を調べてみました。

    PHPのバージョン: 5.4.27
    MySQLのバージョン: 5.0.96-community-log
    Apacheのバージョン: 2.2.27

    > あいまいな記憶ですが、MEは、文字コード EUCではなかったでしょうか、
    > 現在のWordPressは、UTF-8なので、そのあたりの関係かもしれません。

    WordPress ME 2.1.3は、最初からUTF-8で利用しています。

    前述のように、レンタルサーバー会社の人が、文字化けに関して、いくつかの対応をしてくれたのですが、現在もcharacter_set_serverがlatin1にまだなっているのが気になっています。

    SHOW VARIABLES LIKE ‘char%’

    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_filesystem binary
    character_set_results utf8
    character_set_server latin1
    character_set_system utf8
    character_sets_dir /usr/share/mysql/charsets/

    > また、古いWordPress(3.4以前)に新しいタイプのテーマを
    > インストールするような場合も、Fatal errorが出ると思います。
    >
    >メモ
    >
    >なので、古いWordPressに新しい、デフォルトテーマなどを使うのは
    >問題をさらに複雑にする可能性があります。

    このようなこともあるのですね。

    今は、Wordpress 3.8.3の状態で、古いテーマのwp.vicunaのfunctions.phpでエラーが出ているので、とりあえずWordpress 3.8.3に標準で入っていたTwenty Twelveというテーマにしている状態です。

    以上のような状況ですが、まずはどのようなことをすると良いでしょうか?

    引き続き、アドバイスをよろしくお願いします。

    現状は、

    a)PHP5.4.27が原因か
    b)かなり古いものからアップデートしたことが原因か
    c)文字コードの違いが原因か
    d)その他

    が分からないですね。
    切り分けをしなければならないと思います。

    なので、「新規にインストールしたWP3.8.3自体が期待通りに動くのか」を調べれば、a)かどうかは分かるかな、と思って提案しました。同じサーバー内の別の箇所で、なら試せると思います。

    かなり特殊な状況なので、同じ経験の人はたぶんいないでしょうから、さくっと解決する回答は得られないとは思いますがご了承ください。

    トピック投稿者 mimi-mimi

    (@mimi-mimi)

    ご返事を、ありがとうございます。

    > 現状は、
    > a)PHP5.4.27が原因か
    > b)かなり古いものからアップデートしたことが原因か
    > c)文字コードの違いが原因か
    > d)その他
    > が分からないですね。
    > かなり特殊な状況なので、同じ経験の人はたぶんいないでしょうから、
    > 切り分けをしなければならないと思います。

    やはり切り分けて考える必要がありますね。

    > b)かなり古いものからアップデートしたことが原因か

    実は最初は、wp-contentを残して、Wordpress 3.9にアップデートしたのですが、これではWordPress ME 2.1.3と構成が違ってしまうようで、アップデート後に以下の表示が出て、データベースの更新を行なった後に、Wordpressの管理画面にログインしようとしても、管理画面が表示されませんでした。

    *****
    データベースの更新が必要です

    WordPress が更新されました。ご利用いただく前に、データベースを最新バージョンに更新する必要があります。
    *****

    そのため、今回はサブドメインを使っていることもあり、レンタルサーバー会社の人のアドバイスに従って、サブドメインのフォルダに「_old」を付けて、サブドメイン名の新しいフォルダに「Wordpress 3.8.3」(WP3.9はまだ対応していないプラグインも多いようなので)を入れて、それをFTPでアップし、SQLのデータベースも新規に作成し、wp-config.phpにその新しいデータベース名を書いています。

    > c)文字コードの違いが原因か

    文字コードが原因がどうかを探るために、やっと文字化けしない状態の記事にはなっているのですが、Wordpress 3.8.3インストール直後の新規のSQLのデータをバックアップしてあるので、そのファイルをphpMyAdminでインポートしてすべてのファイルを上書きした方が良いでしょうか?

    それで、デフォルトのhelloの記事を表示させて、編集画面に行けるかを確認するというのも一つの方法のような気がしますね。

    ただ、この方法を試しても、「新規投稿」の画面が開かないことの解決にはならないような気もしますが、どうなのでしょうね?

    > 同じサーバー内の別の箇所で、なら試せると思います。

    新規のWordpress 3.9の場合にどうなるかを、これから別のフォルダとデータベースを同じサーバー上に作って試してみたいと思います。

    良いアドバイスを、ありがとうございます。

    私は、一番最初の投稿で書いた、「user.phpのエラー」もかなり気になっています。

    このエラーは、どのようなことを意味しているのでしょうか?

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    私は、一番最初の投稿で書いた、「user.phpのエラー」もかなり気になっています。

    このエラーは、どのようなことを意味しているのでしょうか?

    PHP Notice: Use of undefined constant indent_entry_body – assumed ‘indent_entry_body’ in /wp-content/themes/wp.vicuna/functions.php on line 381

    PHP Notice: Trying to get property of non-object in /wp-includes/user.php on line 109

    テーマをwp.vicunaからTwenty Twelveに変えたら、Noticeは消えましたよね?
    wp.vicunaテーマ自体がもうサポートされていないテーマですので、そのテーマの関数に何らかの原因があると思います。ただしそのテーマの配布サイト自体がもうなくなっているので、詳細は調べることができません。。。

    一旦このエラーのことは棚上げしてFumito MIZUNOさんのご指摘されている原因の切り分けに注力されたほうが良いと思います。(同サーバ内にまっさらの状態でインストールしてどうなるか)
    そこが分かればこのエラーの原因も自ずと見えてくるかと。

    では、引き続きよろしくお願いします。

    トピック投稿者 mimi-mimi

    (@mimi-mimi)

    その後のご報告です。

    アドバイスしていただいたので、同じサーバーにテスト用のWordpressをインストールしてみました。

    このWordpressは、現在の最新バージョンの3.9です。

    このインストール後に、管理画面にアクセスしてみると、サンプル記事の「Hello world!」の編集画面に行くことも、「新規追加」のリンクを押して、新規投稿の追加の画面に行くこともできました。

    そのため現在、記事の編集も新規投稿もできないWordPress 3.8.3を、Wordpress 3.9にアップグレードしてみました。

    その結果、無事に既存記事の編集画面にも、新規投稿の画面にも行くことができました。

    phpMyAdminのpost_contentとpost_titleで、各記事のコンテンツやタイトルが、きちんと日本語で表示されず、[BLOB – 6.2KiB]や[BLOB – 9バイト]のように表示されていたのですが、これも修正され、各記事のコンテンツもタイトルも、日本語で正確に表示されるようになりました。

    レンタルサーバー会社が、PHPを5.2.6から5.4.27にアップグレードしたことが影響して、WordPress 3.8.3では、記事の編集画面や新規投稿画面を表示することができなかったようです。

    現在、同様の問題が生じているWordPress 3.3.2とWordPress 3.5.2も、Wordpress 3.9にアップグレードして、今回の問題が解決するかを確認してみたいと思います。

    各Wordpressのアップグレードに少し期間がかかると思いますが、改めてご報告できればと思っています。

    アドバイスしていただいた方々、本当におりがとうございます。

    今回の一連の投稿が、今後他の方にも参考になりましたら幸いです。

    追記:

    この内容を投稿しようとしたところ、mypacecreatorさんからのアドバイスがありました。

    ありがとうございます。

    テーマのwp.vicunaに関することが書かれていたので、この点について追記したいと思います。

    WordPress 3.9で、無事に編集画面にも、新規投稿画面にも行けることを確認してから、試しにテーマをTwenty Twelveからwp.vicunaにしてみました。

    確かに古いテーマなので、もう使えないかなと思ったのですが、今は問題なくブログが表示され、Wordpress管理画面で、編集画面も新規投稿画面も開くことができます。

    ただ、今回の編集画面や新規投稿画面に行けない問題が生じるだけではなく、古いWordpress ME2.1.3で作ったブログの記事上に、数多くのエラー表示が出てしまい、現在はレンタルサーバー会社の人に、すべてのWordpressをアップグレードするまで、PHPのエラーの表示を、「非表示」にしていただいています。

    それを表示に戻したら、wp.vicunaでは、何らかの問題が生じるかもしれませんね。

    この点についても、ご報告ができればと思いますが、かなりの数のWordpressをアップグレードしなければならないので、かなり期間がかかってしまいそうですが・・・

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「PHP5.4.27へのバージョンアップ後に新規投稿と記事の編集ができない」には新たに返信することはできません。