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

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

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

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

解決済

3回答

2228閲覧

composerをレンタルサーバで使いたい

kkkkoo

総合スコア17

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

0クリップ

投稿2019/03/09 14:41

レンタルサーバにcomposerが使えるか聞いたところ、

誠に恐縮ではございますが、上記「Composer」は、
弊社共用サーバーではご利用できないとの回答となります。

そもそも、composerがよくわかっていません。
そこで、適当にサイト探してcomposerを試してみました。

xamppにcomposerを入れて、なんかわからないライブラリを入れました。
なんかよくわからないけど、とりあえずできたようです。

そこで質問なのですが、xamppのhtdocsと同じ階層にできた、
venderフォルダを、レンタルサーバのpublic_htmlに入れて
プログラムのパスを
「require './vendor/autoload.php';」
にしたら動かすことはできないのでしょうか。

やはり、レンタルサーバにcomposerが
インストールされていないと駄目なのでしょうか。

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

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

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

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

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

guest

回答3

0

やっただけじゃわからないことを補足すると、セキュリティ的に危険なので、普通はドキュメントルート配下に vendor は設置しない。

投稿2019/03/09 14:55

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kkkkoo

2019/03/09 15:01

ありがとうございます。「phpspreadsheet」を使いたいのですが、ドキュメントルートにvendorを置くとセキュリティ的に危険なのでしょうか。
退会済みユーザー

退会済みユーザー

2019/03/09 16:46

セキュリティ的に正しいのは、「ドキュメントルートには、安全なことがわかっているファイルしか設置しない」ことです。 特に composer 等の管理システムを使用して導入したファイル群は、公開ディレクトリに設置されることを想定していないものも多く、直接のアクセスをされると危険なものもあります。(サンプルコードとか怪しい) ライブラリを使用するのにコードの挙動をすべて確認するのは本末転倒なので、普通はドキュメントルート外に置いて手間を省きます。 自身で安全が確認できないのであれば、ドキュメントルート内に設置はしないのが適切です。
kkkkoo

2019/03/09 23:45

ありがとうございます。レンタルサーバーの変更も検討してみます。
guest

0

composerはパッケージ管理ソフトであり、ダウンロードする際に必要なライブラリをまとめてインストールしてくれたりするお助けツールですが、それによってダウンロードしたファイルを格納したvendorフォルダはあくまで、ただのライブラリ保管用フォルダに過ぎません。なので、普通に他のシステムにアップロードするだけで使えます。

vendor/autoload.phpというのはあくまでcomposerを使ってインストールしたライブラリを呼び出すためのルートパスを書いているだけです。

おそらく、共有サーバ側の回答はcomposerを使って外部にアクセスしてダウンロード可能かどうかの答えだと思います。

投稿2019/03/09 14:47

編集2019/03/09 14:55
FKM

総合スコア3633

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

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

kkkkoo

2019/03/09 14:51

ありがとうございます。実際に使うときは、ライブラリから取り出して使うものなのでしょうか。それとも、「require './vendor/autoload.php';」とプログラムに書いて使うものなのでしょうか。
FKM

2019/03/09 14:54

だいたいはインストール時にautoload.phpに自動的に書き込まれています。また、取り出さなくても使えるようになっていますよ。 たとえば、phpでExcelを出力するphpspreadsheetなどはcomposerから入手しますが、それによって得たvendorフォルダをそのままxamppに突っ込んだら動きます。
kkkkoo

2019/03/09 14:59

ありがとうございます。実は、「phpspreadsheet」を使いたいのですが、public_htmlに、venderのフォルダを置いても、セキュリティ的に大丈夫なのでしょうか。
FKM

2019/03/09 15:00

ローカルなら別段問題ないですが、オンライン環境ならば、ルートパス配下の外側に置いた方がいいですよ。
kkkkoo

2019/03/09 15:03

ありがとうございます。そのレンタルサーバは、ルートパスの外側はなかったようなきがします。サーバーの変更も検討してみます。
FKM

2019/03/09 15:26

要検証ですが、vendorフォルダとautoload.phpだけでcomposer.jsonを削除しておいても、phpspreadsheetは使えたかも知れません。それさえ削除しておいたら、composerコマンドは一切使えなくなりますし。
guest

0

ベストアンサー

そこで質問なのですが、xamppのhtdocsと同じ階層にできた、

venderフォルダを、レンタルサーバのpublic_htmlに入れて
プログラムのパスを
「require './vendor/autoload.php';」
にしたら動かすことはできないのでしょうか。

可能です。
というか、やってみればわかること。

投稿2019/03/09 14:44

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kkkkoo

2019/03/09 14:48

ありがとうございます。実は、今回やりたいサーバと違うところでやったところできたようです。 しかし、composerの使い方としてはただしいのでしょうか。
退会済みユーザー

退会済みユーザー

2019/03/09 14:51 編集

ルート権限のないレンサバでインストールされていなければ、そうせざるを得ないし、composer 自体を使う前提なら初めからVPSなどを選択する。
kkkkoo

2019/03/09 14:56

ありがとうございます。試して動いたのですが、セキュリティ的にきになっていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問