2011-01-14 14 views
8

私はPHPを学び始めています。 PHP 5.3を使用したいのですが、これはこれまでの最新バージョンです。私は誰かが私に与えたPHP 5.2スクリプトを使用するプロジェクトに取り組んでいます。PHP 5.3はPHP 5.2と下位互換性がありますか?

PHP 5.3を使用していても、うまく動作しますか?

+8

http://www.php.net/manual/en/migration53.phpには、すべて知っておく必要があります。 –

答えて

10

PHP.netは、PHP 5.2.xからPHP 5.3にアップグレードするためのguideを備えています。これにはbackwards compatibilityに関するセクションが含まれています。

私の経験から、5.2から5.3への移行はスムーズにスムーズに進みました。私のアプリケーションで唯一の問題は、自分のDateTime設定がphp.iniで設定されたプロパティであることを確認し、過度に積極的な廃止予定の警告が表示されるのを除外することでした。

+1

+1。私にとっても本当にスムーズな移行です。私が遭遇した1つの問題はここに記述されています:http://stackoverflow.com/questions/4673472/php-5-3-and-assigning-the-return-value-of-new-by-reference – mfonda

2

ほとんどの場合、マイナーバージョンのリリースでは問題は発生しません。あなたは大丈夫です。

明らかに問題がある場合は、すべてのエラーを表示するようにerror_reportingが設定されていることを確認してください。 PHP: error_reporting

はまた、5.2から5.3での変更のためのマニュアルをご確認ください:Migrating from PHP 5.2.x to PHP 5.3.x

5

をなし、5.3は下位互換性がなく、すべてのことで、それはマイナーバージョンアップとして見られるべきではないことを意味します。 互換性のない変更専用のページがあります。http://www.php.net/manual/en/migration53.incompatible.php 設計したが5.3に受け入れられている機能についても検討してください。 phpは関数のオーバーロードや上書きをサポートしていないので、エラーが発生します。

+0

"設計されていますが、5.3インチのワウには受け入れられていますが、Dを指摘するにはまれな/ランダムなことがありますが、なぜ-1ですか? – Hannes

+1

なぜ私はそれを指摘しましたか:私は5.3を使って古いアプリケーションを実行しようとしているときに複数回にわたって実行しました。私たちは関数がphp-lib関数のどこにあるのかを定義しました(私は 'date_add'がそれらの間にあったと思います)。また、グローバルな検索と置換は、マイナーバージョンのアップデートよりも確かに多くの労力を要します。なぜ-1のように、私は好奇心も強いです。 – Inca

2

マイナーな問題がいくつかあります。参照渡しの通話時間は廃止されました。新しい予約語(goto)があります。

0

phpにはすべてのバージョンで下位互換性がありません。バージョンを変更したときにしばしばいくつかの機能を削除しました。この問題は、サーバーをアップグレードする必要があり、PHPのバージョンを変更する必要がある場合に発生しますが、一部のPHPスクリプトは新しいPHPバージョンでは動作しなくなります。あなたはまた、より大きな仕事であるPHPスクリプトを修正する必要があります。ただし、スクリプトがあなたのものではなく他のユーザーに属している場合、それらのスクリプトをアップグレードすることはできません。これは本当の頭痛の状態です。私はphpでうんざりしており、代わりに後方互換性の理由からperlに切り替えています。

関連する問題