質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.31%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

意見交換

クローズ

6回答

1099閲覧

LaravelのDB接続情報

AkiraSonoda

総合スコア30

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2023/11/14 04:47

0

0

実現したいこと

Laravelに設定しているDBとの接続状況ですが、セキュリティのことを考えると、webからアクセスのできないwww/以外に設置するものなのでしょうか?

他のフレームワークではその様なことをしたのですが、一般的にはどの様にするのが多いのでしょうか?

皆さんのご意見を頂きたいです。

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

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

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

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

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

回答7

#1

AkiraSonoda

総合スコア30

投稿2023/11/14 05:45

↑の指摘がありましたが、分からないので意見交換に投稿しました。それでも追加指摘があるなら別で聞きます。

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

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

#2

yambejp

総合スコア117674

投稿2023/11/14 05:46

社内向けサービスなど小規模で限定的なものなら1台の統合環境でやる方が早いし完結しているので管理しやすいと思います。
逆にインターネットに公開した誰でもアクセスできるようなサービスの場合、想定する負荷によってはhttpサーバーおよびDBをそれぞれ分散管理が必要になるので、httpとRDBは別になると思います。

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

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

#3

AkiraSonoda

総合スコア30

投稿2023/11/14 06:25

編集2023/11/14 06:27

すいません、私の質問の仕方が悪かったのと誤字があったので追加で記載します。

DBの接続情報(IDやパスワード)が記載されているphpファイル(configフォルダ)ですが、Laravelではブラウザから直接アクセスできないドキュメントルートより上に設置をすることはあるのでしょうか?
それとも、変更はできずそのままの仕様に則って使用するのでしょうか?

すごく小規模なシステムです。

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

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

#4

yambejp

総合スコア117674

投稿2023/11/14 06:30

なるほど、接続情報を公開パスに置くかどうか?ということですかね?
PHPの場合include_pathなどに置くのが妥当です
なにかトラブルでPHPが動作しなくなった場合公開パスにテキスト情報としてPHPファイルがおかれてしまう可能性があります

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

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

#5

newcre

総合スコア25

投稿2023/11/21 01:14

/var/wwwをプロジェクトルートディレクトリにしていて、それをそのままドキュメントルートにしているのでしょうか?
一般的にLaravelを利用している場合、publicディレクトリをドキュメントルートにする事が多いというか、それが標準仕様です。
プロジェクトルートに関しても/var/wwwをプロジェクトルートにすると他のアプリケーションを動作させたくなった時に困りますので、/var/wwwの下にもう一つディレクトリを作成してそれをプロジェクトルートにした方が良いです。
/var/www/foo-projectをプロジェクトルートにして、/var/www/foo-project/publicをドキュメントルートにする感じですね。
この場合/var/www/foo-project/configに各種設定ファイル(DB接続設定ならdatabase.php等)が格納され、/var/www/foo-project/app配下に各種アプリケーションファイル(ModelController等)を置くことが多いかと思います。
上でinclude_pathに…という意見がありますが、configファイルを別の場所に置く等してLaravelの標準構成から変更するとフレームワークが正常に動作しなくなる可能性が高いのでお勧めできません。
composer.jsonで設定すればいい感じに出来そうな気もしますが…それが自分で出来るレベルの人であればこの質問は出ないでしょうし、そもそもドキュメントルートをpublicにして適切にWebサーバーの設定を行っていればconfigディレクトリにアクセスされる事はありませんので変なことをする必要はないと思います。
include_pathに…というのはあくまでもプレーンなPHPでの場合であって、フレームワークにおける標準ではないですね。

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

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

#6

この回答は、運営により削除されました。

#7

newcre

総合スコア25

投稿2023/11/22 08:16

suzume99さんが言われている通り、.envファイルに実際のDB接続情報を記載し、その内容をconfig/database.phpから読み込むのが一般的ですね。
新規インストールしたサンプルの状態だとその構成になっているはずです。

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

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

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問