If you're having the mysql connectivity problem for the short password format,there is a fix written by Mixu here
http://tinyurl.com/324pjer
下位互換性のない変更点
既存の PHP5 のコードのほとんどは変更なしで動作するはずですが、 以下の下位互換性のない変更点については注意しましょう。
-
引数を解釈する内部API が、PHP 5.3.x に同梱されている全ての拡張機能に
適用されるようになりました。つまり、互換性のないパラメーターが渡された場合、
この引数を解釈するAPIは
NULLを関数に返させます。これにはいくつか例外が あります。たとえば get_class() 関数はエラーが起きた場合に 以前と同様FALSEを返します。 - clearstatcache() 関数は、デフォルトで絶対パスキャッシュの値をクリアしなくなりました。
- realpath() 関数はプラットフォーム依存でなくなり、全てのプラットフォーム上で 同じ動作をするようになりました。その結果、 __FILE__ . "/../x" のような無効な相対パスは一切動作しなくなりました。
- call_user_func() 関数 とその仲間は、呼び出し先が親クラスであっても $this の値を伝播させるようになりました。
- 配列処理関数 natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip() そして array_unique() は、 引数としてオブジェクトを受け入れなくなりました。オブジェクトを使ってプロパティにアクセス する必要がある場合、オブジェクトを配列型にキャストする必要があります。
- 引数を参照渡しする関数に値を渡した場合の振る舞いが変更されました。 以前は値渡しとして引数を受け取っていましたが、今は fatal error が発生するようになりました。 参照渡しを期待している関数に定数やリテラルを渡していたコードは、 いったんその値を変数に代入してから関数に渡すよう書き換える必要があります。
- 新しい mysqlnd ライブラリは、MySQL 4.1 用の41バイトの新しいパスワードフォーマットを使用します。 古い16バイトのパスワードを使うと、mysql_connect() 系の関数は次のようなエラーメッセージを生成します。"mysqlnd cannot connect to MySQL 4.1+ using old authentication"
-
新しい mysqlnd ライブラリは、mysql の設定ファイル
(my.cnf/my.ini) を読み込まなくなりました (以前の libmysql は読み込んでいました)。
もし設定ファイルの内容に依存するコードを書いているのなら、
mysqli_options() 関数で明示的に読み込む必要があります。
つまり、PDO 固有の定数
PDO::MYSQL_ATTR_READ_DEFAULT_FILEおよびPDO::MYSQL_ATTR_READ_DEFAULT_GROUPは、 PDO の MySQL サポートが mysqlnd でコンパイルしない限り定義されないことになります。 - SplFileInfoクラス と他のディレクトリ関連クラスは、 末尾の / を除去するようになりました。
- __toString() マジックメソッドは引数をとらなくなりました。
- 以下のマジックメソッド __get(), __set(), __isset(), __unset() および __call() は常に public にすべきです。また、static でないメソッドとしても定義できます。 メソッドのシグナチャは強制されます。
- マジックメソッド __call() は、private や protected のメソッドに対するアクセスでも呼び出されるようになりました。
- func_get_arg()、func_get_args() および func_num_args() は、関数内で include や require を使って読み込んだファイルのいちばん外側のスコープからは呼び出せないようになりました。
- MHASH 拡張モジュール用の抽象化レイヤーができ、Hash 拡張モジュールをラップできるようになりました。 しかし、すべてのアルゴリズムをサポートしているわけではありません。 主なところでは s2k ハッシュアルゴリズムには非対応です。 つまり、s2k ハッシュは PHP 5.3.0 以降では使えないということです。
次に示すキーワードは予約語となり、関数名やクラス名などの識別子の名前として使えなくなりました。
mahbub at mahbubblog dot com
21-Sep-2010 09:36
Boris 'borzakov' Ploujoux
14-Sep-2010 06:17
For those who often use the short open tag notations <? ... ?> and mostly <?= $var ?> (useful for template files) instead of standard notation <?php ... ?> : be careful !
In 5.3 version, the setting directive of the first notation is not PHP_INI_ALL anymore but PHP_INI_PERDIR.
In other words, you can't enable the "short_open_tag" directive directly with ini_set() function anymore ; you'll now have to set it in php.ini or httpd.conf (if you have access to it), or per-dir with .htaccess files.
See : http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
munaw at munaw dot com
25-Aug-2010 08:32
gd_info():
Note:
Previous to PHP 5.3.0, the JPEG Support attribute was named JPG Support.
Be aware of this, in case you verify GD image support by this attribute!
mitek17 sobaka gmail.com
14-Apr-2010 11:42
After php version > 5.2.9 flush() stopped working. As a result the output buffer will not be returned at all.
scott dot mcnaught at synergy8 dot com
07-Oct-2009 07:34
fopen('/dev/stdin/') no longer works
use fopen('php://stdin') instead
Cheers,
Scott
Chris Bolt
15-Sep-2009 07:03
call_user_func_array() no longer accepts null as a second parameter and calls the function. It now emits a warning and does not call the function.
