サポート » 使い方全般 » category.phpが本番環境でのみエラーとなる

  • 解決済 31.com

    (@31com)


    wordpressのcategory.phpに以下を記述したのですが・・・

    $pattern=”/https?:\/\/[\w:%#\$&\?\(\)~\.=\+\-]+/”;
    $field=preg_replace_callback($pattern,function ($matches){
    return parse_url($matches[1])[“path”];
    },$field);

    localhost(XAMPP、WordPress 4.1.1、PHP Version 5.6.3)では問題ないのですが、
    本番環境(LAMP、WordPress 4.1.1 、PHP Version 5.3.29)では

    Parse error: syntax error, unexpected ‘[‘ in /home/XXXXX/www/cloverhome/wp-content/themes/XXXXX/category.php on line 24
    (parse_url関数の行です)
    と言われてしまいどこが悪いのかさっぱりわかりません。

    なお、localhostではTwenty Fourteenのテーマで、本番環境ではつくりかけのテーマなのですが、
    category.phpの中身はlocalhostと本番環境で全く同じです。

    どなたかわかりませんでしょうか?
    よろしくお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • PHPのバージョンが古いと、
    parse_url($matches[1])[“path”];
    という書き方が許可されていないかもしれません。

    なので、いったん
    $matched = parse_url($matches[1]);
    などと変数に格納してはどうでしょうか。

    トピック投稿者 31.com

    (@31com)

    Fumito MIZUNO様 ありがとうございます

    >PHPのバージョンが古いと、
    >parse_url($matches[1])[“path”];
    >という書き方が許可されていないかもしれません。

    なるほどですね。で・・・
    parse_url($matches[1],PHP_URL_PATH);
    という書き方にしたら正常に動作したのでこれでいくことにしました。

    ありがとうございました

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「category.phpが本番環境でのみエラーとなる」には新たに返信することはできません。