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

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

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

SendGridは、米SendGrid社のクラウド型メール配信サービス。アカウントを作成するだけですぐに利用することが可能です。さらに到達率向上のための送信ドメイン認証対応や、柔軟性のあるスケーラビリティなど多くの機能を有します。

PHP

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

composer

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

Q&A

解決済

1回答

623閲覧

phpのcomposerの使い方が分かりません

kashim

総合スコア38

SendGrid

SendGridは、米SendGrid社のクラウド型メール配信サービス。アカウントを作成するだけですぐに利用することが可能です。さらに到達率向上のための送信ドメイン認証対応や、柔軟性のあるスケーラビリティなど多くの機能を有します。

PHP

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

composer

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

0グッド

0クリップ

投稿2018/04/06 11:10

編集2018/04/06 11:26

【目的】
composerを利用して、
https://github.com/sendgrid/sendgrid-php
を利用しようとしたのですが、

php

1Warning: require(/var/www/test/vendor/composer/../../lib/SendGrid.php): 2 failed to open stream: No such file or directory in 3 /var/www/test/vendor/composer/autoload_real.php on line 66

上記のエラーが出てしまったので、自分の導入方法に誤りがあるのではないかと思い、
ご相談させていただきました。

1.利用したいディレクトリにコマンドの実行

/var/www/test/

というディレクトリに対して、以下のコマンドを入力しました。
curl -sS https://getcomposer.org/installer | php

すると、ディレクトリ内に
composer.pharが出来上がりました。

2.同じディレクトリ内にcomposer.jsonを入れる

利用したいファイル(sendgrid-php-master)に入っている
composer.jsonを同じディレクトリ(var/www/test/)に移し
以下のコマンドを実行しました。

php composer.phar install

3.実行してみる

この状態で、/var/www/test/index.phpのなかで、

php

1require_once('vendor/autoload.php');

を実行したら、冒頭のエラーが出てしまいました…
原因が分からないため、助けてください。

【追記】
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files

再度、composer installを実行したら
上記メッセージが出ました

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/06 11:17

composer install コマンドでエラー出てるのを無視してるからだろうね
退会済みユーザー

退会済みユーザー

2018/04/06 11:32

README.MD をよく読んで実行した?
kashim

2018/04/06 11:43

読みましたが、phpのverも満たしていますし、composer.jsonも相手のから持ってきているので、記載間違えがないはずです…
kashim

2018/04/06 11:46

そもそも /var/www/test/vendor/composer/../../lib/SendGrid.php ここでエラーが出ているのですが、testディレクトリの中にlibが出来ていないのが問題なのでしょうか?
退会済みユーザー

退会済みユーザー

2018/04/06 11:51

まともにしれば vevder/sendgrid/sendgrid/lib をさすはずだが
kashim

2018/04/06 11:57

Fatal error: require(): Failed opening required '/var/www/test/vendor/composer/../../lib/SendGrid.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/test/vendor/composer/autoload_real.php on line 66 見つからないのはどうしてでしょうか・・・
退会済みユーザー

退会済みユーザー

2018/04/06 12:27

何が間違えているかはわかったが移動中のスマホでは指摘がきついな…(総じていうならREADMEを全く理解せずに思い込みでやっているなんだけど。)
guest

回答1

0

ベストアンサー

  • sendgrid/sendgrid-php は github からダウンロードする必要はありません。
  • 単純に利用する場合は Project の composer.json には
{ "require": { "sendgrid/sendgrid": "~6.2" } }

だけを設定します。
間違えても本体の composer.json をコピーしてはいけません。

  • 一連のコマンドは以下の通りになります。
$ mkdir -p /var/www/test/ $ cd /var/www/test/ $ curl -sS https://getcomposer.org/installer | php $ php composer.phar require sendgrid/sendgrid $ vi index.php # require_once('vendor/autoload.php'); 等実行ファイルを作成する

ちょっと元のREADMEよりアレンジしてありますが

投稿2018/04/06 13:32

編集2018/04/06 13:34
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kashim

2018/04/06 14:34

ありがとうございます! 親身に回答して下さってありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問