質問するログイン新規登録
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

5969閲覧

LinuxからMS SQLServerへの接続

退会済みユーザー

退会済みユーザー

総合スコア0

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/02/09 04:51

編集2016/02/09 04:55

0

0

Laravel5.1, CentOS7, nginx, PHP5.6 の組み合わせです。 MSSQLServerへの接続にはFreeTDS + unixODBC を用いれば良いかと思い、 それぞれインスストール・設定後、TSQLコマンドにて接続可能なところまでは確認できました。 しかしconfig/database.php内に、どのように記述すれば良いのか分からず、足踏みしております。 どなたかご教示お願いできますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

検証等を行っていないためわかりませんが、Laravel5.1向けODBC用のドライバーパッケージがありました。
https://github.com/garylocke/odbc-driver

投稿2016/02/10 02:55

編集2016/02/10 02:56
fagai

総合スコア2158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/02/10 07:38

fagai様、情報ありがとうございます。今別件で手が空かないのですが、必ず検証結果をフィードバックさせていただきます。
退会済みユーザー

退会済みユーザー

2016/02/13 02:50

検証環境はlaravelを5.2にUPしてしまったのですが、garylocke氏のodbc-driverのlaravelバージョン指定が5.1.*となっており、逆にlaravelをダウングレードしないと今は適用できないことが分かりました。また本家での対応予定もないようなので、ひとまずインフラ条件が変えられない現状ではlaravelは選択できないと判断し、クローズとさせていただきます。ご協力いただきましてありがとうございました。
guest

0

Laravelは使ったことがないので少し調べた情報を記載します。

Laravelのデフォルトのdatabase.php内に、例が載っているようです。
Githubにも公開されています。

Github

抜粋すると、この部分になると思います。

php

1 'sqlsrv' => [ 2 'driver' => 'sqlsrv', 3 'host' => env('DB_HOST', 'localhost'), 4 'database' => env('DB_DATABASE', 'forge'), 5 'username' => env('DB_USERNAME', 'forge'), 6 'password' => env('DB_PASSWORD', ''), 7 'charset' => 'utf8', 8 'prefix' => '', 9 ],

上記それぞれに、SQLServerのホスト名(IP)、データベース名(スキーマ)、DBユーザー、パスワードを記載すれば良さそうです。

投稿2016/02/09 15:18

shanxia

総合スコア1040

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/02/10 00:38

shanxia様、コメントありがとうございます。ご指摘の部分は設定しているのですが、driverがsqlsrvだと、PDOException could not find driverとなります。これはphp側の問題と思いますが、MS公式サイトでphp用のsqlserverドライバはwindows版のみのリリースであり、LinuxについてはODBCを用いるように示されています。そのためFreeTDSとunixODBCを導入しました。しかしlaravel側は対応DBは4種類と明示されており、そこにはODBCもFreeTDSも含まれておりません。このため例えばdriver=ODBCと記述すると、Unsupported driver [odbc] というメッセージとなり、手詰まりという状況です。今後は海外の情報を当たってみようと思います。ありがとうございました。
shanxia

2016/02/10 00:47

https://msdn.microsoft.com/ja-jp/library/hh568451(v=sql.110).aspx ここにLinux用のODBCドライバが・・・と思いましたが、リンク切れしていますね。。。。 過去に私もunixODBCを使用してsqlserverに接続したことがありますが、MSから何かダウンロードしたことはありません。 FreeTDSにすべて含まれていた様に思うのですが。。。。 qiitaにちょうど良い記事がありましたので、ご紹介します。 http://qiita.com/arachan@github/items/5863c945dbe7507975d8 記憶が曖昧で、申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問