• 解決済 yamatoboy

    (@yamatoboy)


    はじめまして、超初心者です。
    WordPressを初めてインストールし、当然ですが初めてContact Form 7を
    インストール、設定しましたが、肝心のフォームが表示されず、
    [contact-form 404 "Not Found"] となってしまいます。

    http://contactform7.com/ja/2009/11/02/getting-started-with-contact-form-7-2/

    こちらを参考に、新たに「問い合わせ」のページを作り「編集」から
    [contact-form 1 "コンタクトフォーム 1"]
    を本文中にHTMLで貼り付けました。

    環境は
    PHP PHP 5.1.6
    MySQL 5.0.77
    Apache 2.2.3
    です。
    エラーログで以下のログがでます。

    PHP Warning:  preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support at offset 0 in ~~~~~どうもドキュメントルートの、

    wp-includes/class-simplepie.php

    というファイルの、

    function shortcode_parse_atts($text) {
            $atts = array();
            $pattern = '/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)$
            $text = preg_replace("/[\x{00a0}\x{200b}]+/u", " ", $text);
            if ( preg_match_all($pattern, $text, $match, PREG_SET_ORDER) ) {
                    foreach ($match as $m) {
                            if (!empty($m[1]))
                                    $atts[strtolower($m[1])] = stripcslashes($m[2]);
                            elseif (!empty($m[3]))
                                    $atts[strtolower($m[3])] = stripcslashes($m[4]);
                            elseif (!empty($m[5]))
                                    $atts[strtolower($m[5])] = stripcslashes($m[6]);
                            elseif (isset($m[7]) and strlen($m[7]))
                                    $atts[] = stripcslashes($m[7]);
                            elseif (isset($m[8]))
                                    $atts[] = stripcslashes($m[8]);
                    }
            } else {
                    $atts = ltrim($text);
            }
            return $atts;
    }

    ——————————————————————–

    この部分 ↓ が関係しているようなのですが、

    $text = preg_replace("/[\x{00a0}\x{200b}]+/u", " ", $text);

    当方には全くもって理解する頭がございません。

    サーバーの設定、PHPの設定などがいけないのでしょうか?

    ご教示賜りたくよろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Takayuki Miyoshi

    (@takayukister)

    そのファイルは class-simplepie.php ではなく shortcodes.php ですね。

    状況はエラー内容のとおりで、見当付けられた部分が関係しているというのもおそらく当たっています。”This version of PCRE is not compiled with PCRE_UTF8 support” で困っているので PCRE_UTF8 が使えるようにしてほしい、とサーバーの管理者(ホスティングサーバーならそこのサポート)に相談したらなんとかしてくれるかもしれません。

    トピック投稿者 yamatoboy

    (@yamatoboy)

    Miyoshi 様

    ありがとうございます。

      >そのファイルは class-simplepie.php ではなく shortcodes.php ですね。

    すみません、間違いでした。その通りでした。

    php.infoと睨めっこしてようやく、pcreのところを見つけ
    PCRE Library のバージョンが Version: 5.0 13
    という事がわかり、このあたりをググっていくと、PCRE_UTF8を
    有効な状態にするには、どうしてもphpの再コンパイルが必要
    とのこと。

    しょうがないので、pcre 8.02 をインストール後に、php5.2.17
    へのバージョンアップを行い、無事解決しました。

    http://lol.pman.biz/archives/207

           ↑ を参考に

    phpの「 ./configure 」 の際、 「 –with-pcre=/usr/local 」
    を追記し無事にバージョンアップを完了できました。 
    Contact Form 7もきちんと動作しております。

    的確で素早いアドバイス、本当にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Contact Form 7 フォームが表示されない」には新たに返信することはできません。