• 解決済 efkff

    (@efkff)


    brBrbr300ってプラグインをインストールして有効化すると、トップ画面のブログ一覧に写真のような文字が表示されて不具合がおきてしまいます。
    改行も反映されてないのでうまくいってません。どうしたら解決できますか?

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック投稿者 efkff

    (@efkff)

    画像はこれです。
    http://www.gazo.cc/up/240760.png

    トピック投稿者 efkff

    (@efkff)

    アドレスコピーして張り付ければみれます。 

    こんにちは

    http://php.net/manual/ja/function.preg-replace.php

    変更履歴に

    /e 修飾子が非推奨になりました。かわりに preg_replace_callback() を使いましょう。 セキュリティ上のリスクの関する詳細は PREG_REPLACE_EVAL のドキュメントを参照ください。

    とありますように、@efkffさんのつかっているPHPのバージョンでは、使えなくなったという意味です。

    プラグインを使わなくても、ビジュアルモードで改行すれば、その分の行間はあくと思いますが、どうでしょう?

    トピック投稿者 efkff

    (@efkff)

    ありがとうございます。
    ビジュアルモードでもできるんですが、何か改行幅が気に入らないのです。いままで同じテーマでも違うサイトではこのプラグイン使えてたんですけど。
    PHPのバージョンってワードプレスのPHPのことですか?

    CG

    (@du-bist-der-lenz)

    改行幅はスタイルシートで調整しましょう

    CG

    (@du-bist-der-lenz)

    @efkff さんのWordPressで使っている PHP バージョンが明快ではないですが、 @nobita さんがリンクされた先にある通り、バージョン 5.5 では、セキュリティ上のリスクがあり、/e 修飾子が非推奨になり、バージョン7.0.0で /e 修飾子をサポートしなくなったので、かわりに preg_replace_callback() を使いましょう、ということです。
    どうしても、brBrbr300プラグインを理想とするのでしたら、セキュリティのリスクも承知のうえで、preg_replace_callback()に書き直しましょう。

    トピック投稿者 efkff

    (@efkff)

    ぐぐったんですが preg_replace_callbackとかいわれてもなんのことかさっぱりわかりません。

    CG

    (@du-bist-der-lenz)

    エラーメッセージのとおりです。サポートされていないので、プラグインが使用している、「preg_replace」で”\e” 修飾子を使うと、PHP 5.5.0 以降で E_DEPRECATED レベルのエラーが発生し、PHP 7.0.0 以降では E_WARNING レベルのエラーが発生し、 “\e” 修飾子は何の効力も持たなくなります。
    brBRbr300のエラー

    該当箇所を、preg_replace_callback()に書き直すことでエラーは消えるでしょう。それでも、本来の動作が約束されるものではありません。

    ぐぐっても見つけることに結びつかず、学びがなかったのでしたら代替え案を考えましょう。

    質問者の @efkff さまはあまり機能の内面については得意ではないようなので解決に導ける方はそれを踏まえていただけると幸いかと存じます。

    私もあまりよくわからないのですが preg_replace というPHP関数で「関数置換」をされる指定の方法が古くご利用の環境では不適となっているみたいです。
    いわゆる賞味期限切れのパーツがあるようなもので、例えて「冷蔵庫にカレーの具材がある」(プラグインを実装して稼働ができる状況である)けれどもそのうちの材料一つが賞味期限切れで「肉がくさってる」(人間が食べられる標準的なカレーを作ることが不可能な要因が含まれている)ため「カレーは無理だ」(実行不可能)という状態だと思います。

    この状況について、解決方法としては「肉を新品と買い替える」(推奨のコードに書き換える)、別途食べられるカレーそのものまたは「カレーのセット」を用意する(Styleデザインやプラグインの新調)、ほかに「腐った肉でも調理法によっては食べられる」(非推奨のコードが実行できる条件下で稼働させる)などあるかと思います。

    プログラムを直接調整できない方の解決策としては具体的に以下を提案しますがいかがでしょうか。
    1、別のプラグインを探す
    2、CSSなどの調整でデザインを整える
    3、プラグインの作者に更新を提案する
    4、プログラマに有料で作成を依頼する

    どちらにせよ現状のままでは「サーバーの設定を変更する」または「プログラムを加工する」が必要になりそうですので、前述候補の1または2が、むつかしいとは思いますが取り組まれる価値のあるものではないかと思います。

    あと、いままでは使えていた、いまでも使えている環境がある、なのでそれに合わせたいというお気持ちが表れてくることは十分に理解できるのですが、賞味期限や有効期限も「昨日までは有効期限内」だったものは今日は使えないものですし、「納豆が食べられる」人は健康を「納豆が苦手」な人より手に入れることができる可能性は大きいですが、苦手な方の健康を手に入れる権利を侵害しているものではないはずです。ご自身にあった選択肢というのは「特定の事象については解決方法の選択肢はあるけれども、特定の手段については偏差などがありえる」という自由の範疇であることをご理解いただけると幸いです。

    今回の選択肢が狭まっている「手段」は現行のプラグイン継続利用であって、その困難を乗り越えるよりも解決すべき目的への到達を優先するのであれば「代わりのプラグインないしはプラグイン以外での解決」が良いのではないでしょうかという提案なのですがいかがでしょうか。

    CG

    (@du-bist-der-lenz)

    「いままで同じテーマでも違うサイトではこのプラグイン使えてた」のは、PHP5.4で動作していたためで、今回のサイトはPHP5.6,PHP7.0で作成したものだからです。
    今までと同じに「brBrbr300プラグイン」を動作させたい場合
    セキュリティリスクを承知で「AddHandler php5.4-script .php」を指定するのも自己責任で選択肢としてあります。
    「何か改行幅が気に入らない」ことで、当プラグインを利用していたのでしたら、スタイルシートで整えることで充分でしょう。
    今現在使えているサイトも、将来的にPHP5.6,PHP7.0にアップデートすれば同様のエラーが表示され動作しなくなります。

    トピック投稿者 efkff

    (@efkff)

    CSSの調整の方向で検討してみます。
    ありがとうございました。

11件の返信を表示中 - 1 - 11件目 (全11件中)

トピック「brBrbr300って改行プラグインいれると不具合が起きる」には新たに返信することはできません。