3

Laravel 4 で SQL Server データベースに接続しようとしています。エラーが発生しますが、Laravel のエラーではなく、PHP のエラーだと思います。それは言いPDOException: could not find driverます。sqlsrvファイル内の別の例のようにドライバーを設定していdatabase.phpます。私が言ったように、これは Laravel ではなく PHP のエラーだと思います。

Mac で localhost を使用しています。php.iniファイルで何かを構成する必要がありますか? PDO の下で MySQL ドライバーをコメントアウトする必要があるという別の記事を見つけました。私もその行を見つけることができませんでしたphp.ini。とにかく、MySQL データベースにも接続する必要があります。ファイルで何を変更する必要がありphp.iniますか?

私はこの行を見つけました:

pdo_mysql.cache_size = 2000

しかし、それをコメントアウトしても、Apache を再起動しても何も起こりませんでした。

4

3 に答える 3

6

PHP マニュアル (www.php.net/manual/en/sqlsrv.requirements.php) によると、sqlsrv ドライバーは Windows 専用ドライバーです。そのため、そのドライバーは、Mac、Linux、Unix、またはそのページに記載されているオペレーティング システム以外のオペレーティング システムでは使用できません。

どこかのリモート SQL Server に接続しようとしていると思いますか? Mac を使用している場合、SQL Server はローカル マシンで実行されていないため、最初の質問は、どこかで SQL Server を実行しているかどうかだと思います。

次に、PHP を実行しているサーバーから、FreeTDS または ODBC with FreeTDS を使用して接続する必要があります。

Laravel 4 は PDO を使用するため、FreeTDS と ODBC をインストールする必要があります。Laravel 4 は mssql PHP 拡張機能を使用しません。PDO を使用しているため、mssql は Laravel 4 ではどこにも行きません。

Mac から PHP を提供している場合、一般的に次の 4 つの方法があります。

  1. 簡単ですが費用がかかる方法: (www.macupdate.com/app/mac/23152/openlink-odbc-driver-for-sybase) にアクセスし、OpenLink ODBC ドライバーをダウンロードしてインストールします。これにより、XNIX マシンで Sybase (MSSQL) ドライバーを使用して新しい ODBC 接続を作成できます。ここにインストールのウォークスルーがあります (wikis.openlinksw.com/dataspace/owiki/wiki/UdaWikiWeb/InstallSybaseExpressOSX)。15日間の試用版が付属しており、その後は購入する必要があります. これを書いている時点では、選択したライセンスに応じて 30 ドルから 50 ドルの範囲の費用がかかるようです。

  2. 難しいが無料の方法: http://blog.benjaminwalters.net/?p=10 (少し古い) に従って、FreeTDS サポートを Mac 上の PHP に再コンパイルします (MAMP を使用していると仮定します)。

  3. VMWare Fusion などの仮想マシン ホスト ソフトウェアを見つけて、Ubuntu 12.4 などの Linux サーバーをインストールします。インストール プロセス中に必ず apache2 と PHP をインストールしてから、こちらの手順に従ってFreeTDS を新しいサーバー マシンで動作させてください。

  4. SQL Server を実行している Windows Server から PHP を実行する

走行距離はソリューションごとに異なり、いずれの場合も学習曲線があります。私は長い間 PHP 開発者をしており、Linux から初めて SQL Server に接続する方法を理解するのに何日もかかりました。ありがたいことに、現在かなりの数のウォークスルーがあり、FreeTDS はその時から長い道のりを歩んできました。

それが役立つことを願っています。:)

于 2013-03-09T00:15:31.010 に答える
1

私は実際にこれを自分のセットアップで実行しています。私の最善のアドバイスは、 Homebrewバス に乗ることです。

https://github.com/josegonzalez/homebrew-phpは、PHP および関連項目のインストールを探す場所です。何をしたか正確には覚えていませんが、特に難しいことはありませんでした。

まず、FreeTDS が必要です。

brew install freetds

次に、Jose の数式を自作に追加します (手順は github ページにあります)。その後、

brew install php5x --with-mssql  

brew options php5x

さらに拡張機能が必要な場合。

于 2013-08-07T13:23:54.217 に答える