2.2.3にアップグレード中のCakePHP1.3アプリケーションがあります。このアプリの要件の1つは、別のアプリケーションのMSSQLデータベースにクエリを実行して、認証を実行し、ユーザーデータを引き出すことができるようにすることです。
PHP / PDO / MSSQL lib(MySQL、sqlite、およびsqlite 2用のPDOはすでにあります)をインストールするためにWebホストを調査し、嫌がらせを2日間無駄にした後、かなり厳しいように見えます。
TL; DR:LinuxでPDOMSSQLクエリを実行する方法を見つける必要があります。
暴言を始める:
私を夢中にさせているのは、これです。CakePHPは、すべてのDBラッパーをPDOで作成するために、BROKEMSSQLとの互換性を開発しています。Linuxサーバー上に1.3アプリがあり、MSSQLデータベースに正常に接続していて2.2にアップグレードしたい場合は、PDOを使用することが重要であるため、そのデータベースに接続できなくなります。ユーザーの既存の機能を破棄します。
CakePHP 2.x Docsは、この落とし穴についてユーザーに警告しません。彼らが言うのは、PDOが必要だということだけです。
LinuxではPDO/MSSQLが機能しないことに注意する必要があります。または、ストックCakePHPで提供されるSqlserver.phpデータソースに代替手段を追加して、アプリをアップグレードするユーザーがアプリケーションを2.2xで再び機能できるようにする必要があります。
1.3から2.2に移植するのに1週間の時間を無駄にしたので、今は本当にこれに夢中になっています。手動でクエリを記述してCakePHPの優れたデータベース抽象化を無視するか、すべての作業を変換する必要があるようです。 1.3に戻り、CakePHPの最新バージョンでのすべての新しい改善をあきらめます。