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

2017年08月01日

PHP 5.4への移行

PHP 5.4では、関数呼び出し時の参照渡しができない。5.3まではできていた。以下はエラーとなる。

 function sampleFunction($var) {
  $var++;
 }
 $a = 3;
 sampleFunction( &$a);

-------------------------------------------------------------------------------------------------------------------------------

Strict Standards: Only variables should be passed by reference in ファイル名

こんなエラーが出るようになりました。E_STRICT が E_ALL に含まれるようになったためだそうです。

 error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT);

これでエラーを消せます。余力のある方にはエラー原因を取り除くことをお勧めします。

-------------------------------------------------------------------------------------------------------------------------------

マジッククォート機能がなくなり、常に FALSE になった。

 magic_quotes_gpc = off の状態

php.ini に magic_quotes_gpc がない。

-------------------------------------------------------------------------------------------------------------------------------

htmlspecialchars関数のデフォルト文字エンコーディングがISO-8859-1からUTF-8に変更された。htmlspecialchars関数の第3引数には、処理対象文字列の文字エンコーディングを指定します。
この指定をしない場合、従来(PHP5.3まで)はISO-8859-1とみなされていたのに対して、
PHP5.4ではUTF-8とみなされるようになります

参考
 http://blog.tokumaru.org/2011/11/php54htmlspecialchars.html

EUC-JPのページでhtmlspecialchars関数で処理した値を表示させていると、
全角文字だけが表示されないという現象が起きます。
-------------------------------------------------------------------------------------------------------------------------------

php.ini内のshort_open_tag のON、OFFにかかわらず、


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

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

お名前:

メールアドレス:


ホームページアドレス:

コメント:

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

この記事へのトラックバックURL
https://fanblogs.jp/tb/6545335
※ブログオーナーが承認したトラックバックのみ表示されます。

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