PHP のmysql_*
関数は非推奨であり、使用すべきではないことを理解しています。
ただし、いくつかのレガシー MySQL 4.0 データベースがあり、関数mysqli_*
もPDO
関数も接続をサポートしていません。最新の PHP バージョンを引き続き使用し、これらのデータベースに接続できるようにするための最良の方法は何ですか?
(PDO イントロ ページの上部の説明に基づいて、最初は PDO がオプションである可能性があると考えていましたが、ページのさらに下にある変更ログは、4.1 より前のサポートが PHP 5.4 で削除されたことを示唆しています)
MySQL 4.0 が 10 年前のものであることは理解していますが、ここでの本当の問題は、まだそれを使用していることです。MySQL のアップグレードは、私の影響とこの質問の範囲外の別の問題です。私が制御できるのは、使用している PHP のバージョンです。古いデータベースに接続する必要があるという理由だけで、PHP のアップグレードを停止する必要はありません。
PDO でさえ、これらの古い MySQL サーバーには接続できなくなります。
また、これらのデータベースにアクセスするいくつかのレガシー アプリケーションがあり、これらのアプリケーションをできるだけ変更したくないことも明確にする必要があります。それらは活発に開発されておらず、コードの大部分を書き直すことを含む変更をテストすると、すぐにかなり大きな QA プロジェクトに膨らみます。
このため、コードの書き直しや MySQL のバージョンのアップグレードなどの侵襲的なソリューションは、ほとんど価値がありません。それらが利用可能な唯一の解決策である場合、おそらく何もmysql_*
せず、最新の PHP が接続できなくなるとすぐに、できるだけ長く使用し、PHP バージョンを (少なくともこれらのアプリについては) フリーズすることになります。
一方、技術的に複雑な解決策 (ゼロから何かをコンパイルするなど) は間違いなく可能であり、実際には大規模なコード変更を行うよりも好まれます。