アフィリエイト広告を利用しています

2018年12月18日

PHP5.6から7.0への変更

顧客のサーバのPHPが突然、バージョンアップすることになった。

私が作ったシステムは7.0では動かないことは確認済み。

自前でレンタルしている別のサーバのPHPを7.0に切り替えて、

そのシステムを実行すると

エラーメッセージの連続。

呆然とするばかり。

これだけの修正で解決

・インスタンス作成時の参照渡しができなくなっていた。
 NG:$dbh =& new MembersDAO();
 OK:$dbh = new MembersDAO();

・拡張前後のClassで同名の関数があるとき、パラメータを一致させる。
 パラメータが異なると以下のようなエラーメッセージが表示されます。

Warning: Declaration of HTML_QuickForm_hidden::accept(&$renderer) should be compatible with HTML_QuickForm_element::accept(&$renderer, $required = false, $error = NULL) in /home/~/libs/pear/HTML/QuickForm/hidden.php on line 33

 エラーメッセージの指示どおりに、
function accept(&$renderer) を function accept(&$renderer, $required=false, $error=null)
 に変更したら、このエラーは表示されなくなった。

・非 static メソッドに対する static 呼び出し
  例
  function isError($value) を public static function isError($value)に変更

・クラス名と同名のメソッドを持てなくなった。
  例

class HTML_QuickForm_Renderer_Default extends HTML_QuickForm_Renderer


function HTML_QuickForm_Renderer_Default()
{
$this->HTML_QuickForm_Renderer();
} // end constructor


 ↓

class HTML_QuickForm_Renderer_Default extends HTML_QuickForm_Renderer


function __construct() {}



・dl()関数が使えなくなった。→ extension_loaded()に置き換えた。
・ereg_replace()関数が使えなくなった。→ str_replace()に置き換えた。
・preg_replace()関数のeオプションが使えなくなった。
  https://fanblogs.jp/to70/archive/441/0?1546742390









posted by db-engineer at 00:00 | Comment(0) | PHP

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド