エントリー

freoのphp7.3対応

ブログシステムであるfreoは独自仕様を追加しているため個別にバージョンアップしてきた

これまでphp5で動作していたが,Armbian Bullseyeとなってphp7では動作しないので対応する

freoで対応する部分は3箇所

①初期設定

freo導入時に最初にトップページを開くと環境設定を行うがphp7では正常に動作しない

こちらに書かれているとおりで対応できる

config.phpを編集すれば対応させなくても問題ない

②smarty

上記サイトにも記載があるsmarty2の「Smarty_Compiler.class.php」に問題がある(7.3では非推奨)

  • コンストラクタのメソッド名を変更(クラス名と同じでは駄目になった)
function Smarty_Compiler()

(変更)

function __construct()
  • preg_replaceの修飾子eは廃止
$source_content = preg_replace($search.'e', "'"
  . $this->_quote_replace($this->left_delimiter) . 'php'
  . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
  . $this->_quote_replace($this->right_delimiter)
 . "'"
, $source_content);

(変更)

$source_content = preg_replace_callback($search
, function ($matches) {return $this->_quote_replace($this->left_delimiter) . 'php'
. str_repeat("\n", substr_count($matches[0], "\n"))
. $this->_quote_replace($this->right_delimiter);}
, $source_content);
  • each()が非推奨なので同等な別コードに変更
list(, $block) = each($this->_folded_blocks);

(変更)

$block = current($this->_folded_blocks);
next($this->_folded_blocks);

最新の1.21.0のsmartyを使えば問題ないことが後で判明

③人気コンテンツプラグイン

エラーが発生しているが必要ないので削除

※)このプラグインはデータ量が膨大になることも理由の1つ(バックアップのSQL文のほとんどを占める)

(参考)

  • google検索「php5 php7 違い
  • php.ini(/etc/php/7.3/apache2/php.ini)を編集して画面にphpのエラー表示(logファイルを参照しないても良くなる)
display_errors = On    #was Off
  • php7.4でも問題なし

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed