PHPで「Class GuzzleHttp\Service\Client not found」が出る
- 評価
- クリップ 0
- VIEW 4,593

退会済みユーザー
前提・実現したいこと
WebPayが配布しているライブラリを使って単純な支払いのシステムをPHPで作成しているのですが、予期せぬエラーが発生して困っています。
発生している問題・エラーメッセージ
Fatal error: Class 'GuzzleHttp\Service\Client' not found in /home/****/www/****/wp-content/themes/tuto/vendor/webpay/webpay/src/WebPay/WebPay.php on line 40
該当のソースコード
以下が実行しようとしたソースです。公式ドキュメントをそのまま引用しています。
require_once(dirname(__FILE__) . "/vendor/autoload.php");
use WebPay\WebPay;
$webpay = new WebPay('test_secret_eHn4TTgsGguBcW764a2KA8Yd');
$webpay->token->create(array(
"card"=>
array("number"=>"4242-4242-4242-4242",
"exp_month"=>11,
"exp_year"=>2017,
"cvc"=>"123",
"name"=>"KEI KUBO")
));
試したこと
こちらの公式ページで配布している「webpay-php-full-2.3.0」を使用した場合でも、Composer.jsonで自力でインストールした場合でも同様のエラーが出ることが確認されています。
また、こちらのqiitaのページを参考に同手順で導入するも、同様のエラーが発生しています。
補足情報(言語/FW/ツール等のバージョンなど)
Sakuraサーバーでの実装です。
PHP5.6が動作します。
追記
インクルードされているファイルの一覧をforeachで取得してみたなかで、関与するもののみをリストしたものが以下です。(実行ファイルからの相対パスで表記しています。)
vendor/autoload.php
vendor/composer/autoload_real.php
vendor/composer/ClassLoader.php
vendor/composer/autoload_static.php
vendor/guzzlehttp/promises/src/functions_include.php
vendor/guzzlehttp/promises/src/functions.php
vendor/guzzlehttp/psr7/src/functions_include.php
vendor/guzzlehttp/psr7/src/functions.php
vendor/guzzlehttp/guzzle/src/functions_include.php
vendor/guzzlehttp/guzzle/src/functions.php
追記
vendor(webpay-php-full-2.3.0)のフォルダーツリーは以下のようになっています。
├─composer
├─guzzlehttp
│ ├─guzzle
│ │ ├─build
│ │ ├─docs
│ │ ├─src
│ │ │ ├─Cookie
│ │ │ ├─Exception
│ │ │ └─Handler
│ │ └─tests
│ ├─promises
│ │ ├─src
│ │ └─tests
│ └─psr7
│ ├─src
│ └─tests
├─psr
│ └─http-message
│ └─src
└─webpay
└─webpay
└─src
└─WebPay
├─Data
└─ErrorResponse
追記
Wordpressの干渉を受けない、自家製のLinux機上で動作させても同様のエラーが発生しました。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+3
WebPayの冨田と申します。
御不便をおかけし誠に申し訳ありません。WebPay PHPライブラリのバージョン2.3.0にはライブラリ内部に問題があり、結果上記のエラーが表示されています。
更新版の2.3.2をリリースしております。composerを用いてライブラリの更新を行い、再度お試しいただけますか。
WebPayについての技術的な質問は専用フォーラム https://webpay.jp/forum もあわせてご利用くださいませ。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
https://github.com/guzzle/
https://github.com/guzzle/guzzle-services
…をみるに、guzzle-servicesを含んでいないことが原因なんじゃないでしょうか。
目的のものは、
https://github.com/guzzle/guzzle-services/blob/master/src/GuzzleClient.php
にあるようですので。
guzzleの下にguzzle-servicesが来るように上記のURLから必要なファイルをダウンロードして展開して、組み込んでみてはいかがでしょうか。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.21%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
pi-chan
2016/08/10 15:10
`require_once` に指定しているパスは合っていますか?
呼び出す側のソースはどこにいるのですか??
退会済みユーザー
2016/08/10 15:41
パスはあっているはずです。get_included_files()などで確認しましたが、ライブラリ群は読み込まれているようでした。
composerでインストールしたライブラリはvendor/autoload.phpをインクルードで使用できるようになると思います。