1

xamppバンドルに含まれていたsqlite 2を使用していました。

しばらくして、sqlite3を含む最新のxamppバンドルをインストールしました。

コードを実行するとエラーが発生し、sqlite 2 がバンドルで利用できないことがわかりました。

このようなことは、php とそれに関連するすべてのライブラリ (分割関数など) で発生します。

それがローカルシステムである場合は問題ありませんが、エラーによって既存のWebページを新しいphpバージョンにアップグレードするときに共有ホスティングで更新します。

php が一部の関数を削除し、同じ名前を保持して機能をアップグレードするのではなく、他の新しい関数に置き換えることをどのようにして知ることができますか?

サーバー内の現在の既存の機能のバージョンをアップグレードまたは変更すると、Web サイトが壊れます。ページ全体にエラーが表示されます。多くのページは機能しません。気が付かないとSEOの評価が下がってしまいます。ユーザーはサイトを信頼しません。これは、私がしばらく使用していたwordpressとmediawikiでも発生し、最近phpをアップグレードしたときにモジュールがロードされず、代わりに致命的なエラーが発生しました。これは厄介です。

この場合、特定の間隔でコードをアップグレードし続けるのは多忙になります(phpが機能をアップグレードするたびに)

私が知る限り、これは終わりがありません。

サーバー側とローカルホストでのこれに対する解決策は何ですか。

4

2 に答える 2

2

これは確かに問題です。そして、これに対する唯一の解決策は次のとおりです。

  1. 依存関係に対してコードを記述する前に、依存関係を十分に検討してください。
  2. ボールにとどまります。

依存する特定のテクノロジーを使用することを決定する前に、それが非推奨になる予定であるかどうか、または将来的に使用することが推奨されないかどうかを調べてください。PHP 担当者は、マニュアルでこれらのことを指摘するのが得意なので、php.net の関連ページを読むだけで十分な場合がよくあります。

PHP 開発者は、非推奨プロセスについては非常に優れており、ほとんどの API の非推奨プロセスは非常に遅いものです。

それにもかかわらず、ボールにとどまる必要があります。不定期の公式発表に従って、何が変更され、どこに注意を払う必要があるかを把握してください。各メジャー PHP リリースの変更ログは、通常、調査する価値があります。

あなたがしなくても頻繁に変更されるシステムでコードを実行している場合は、ホストのアナウンスにも注意を払う必要があります。大きな変更が事前に発表されていない場合は、別のホストを探してください。

重大なエラーについて電子メールで通知されるように、エラー ハンドラを作成します。主要な依存関係が利用可能かどうかをチェックし、欠落している場合は通知するスクリプトを含めることができます。

重要なコードがある場合は、プラットフォームを十分に制御できない共有ホストで実行しないでください。独自のサーバーを実行し、PHP のアップグレードには注意してください。古いバージョンがしばらくの間メンテナンス アップデートを受信するのには理由があります。

通常、デプロイされたコードとサーバーはシステム管理者に管理してもらいます。サーバーに必要なものをシステム管理者に伝え、サーバーに大きな変更が加えられた場合は、システム管理者に相談する必要があります。あなたがそのような人なら、最近の多くの sys-dev-ops のように、これを自分の仕事の一部にする必要があります。

于 2012-12-08T17:55:59.987 に答える
1

良い質問。心配しすぎと言います。PHP チームは、下位互換性に非常に気を配っています。私は 10 年以上 PHP を使用していますが、この間に Web は大きく変化し、PHP も同様に変化しました。変更は非常に長い非推奨プロセスを経て実行されており、実際に行われるずっと前に発表されます。それでも、私が覚えているケースでは、新しいバージョンで非推奨の方法を実行することはまだ可能でした.

これはすべて、PHP 自体で提供される PHP コアと拡張機能に有効です。

SQLlite の場合、実際に使用したことはありません。

新しい PHP 5 バージョンの 1 つで、ログ レベルに非推奨のビットが導入されました。ログ レベルを に切り替えると、 非推奨の機能を使用しているE_ALL場合-1に行がログに記録されるため、早期に対応できます。

http://php.net/manual/en/function.error-reporting.php

さらに、減価償却費と下位互換性のない変更のリストをリリースします。

http://php.net/manual/en/migration54.incompatible.php

ここで発表されたすべての変更は、何年も前に悪い習慣として扱われたため、今は誰もコードを変更する必要はありません。

私はこれがあなたを殺していないことを願っています:)幸運を祈ります

于 2012-12-08T17:47:38.490 に答える