composerによるライブラリのインストールを正常におこなえません
composerを利用した、決済サービスStripeのライブラリのインストールに苦戦しています
Stripeのドキュメントを参考にcomposer.jsonに要素を追加し、
php composer.phar install
を行い、phpでautoloadしたのですが、phpで記述されたページを読み込むと、目標のライブラリをautoloadできておらずErrorを吐きます。
Fatal error: Uncaught Error: Class 'Stripe\Stripe' not found in /var/www/html/chechoutCheck.php:9 Stack trace: #0 {main} thrown in /var/www/html/chechoutCheck.php on line 9
composerによるinstallのどこかの段階でミスを犯していると思うのですが、自力での調査で手詰まりを感じ始めました。
ご助力をお願いします。
composer.json
{ "require" : { "phpmailer/phpmailer":"~5.2", "stripe/stripe-php":"^6.15" } }
読み込むページ
Stripeのドキュメントのステップ2の部分を参考にしたもの
<?php require '../inc/vendor/autoload.php'; ini_set("display_errors", 1); error_reporting(E_ALL); // Set your secret key: remember to change this to your live secret key in production // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey("sk_test_XXXXXXXXXXXXXXXXXXXX"); // Token is created using Checkout or Elements! // Get the payment token ID submitted by the form: $token = $_POST['stripeToken']; $charge = \Stripe\Charge::create([ 'amount' => 1000, 'currency' => 'jpy', 'description' => 'Example charge', 'source' => $token, ]); ?>
試したこと
Composerでインストールしているパッケージのバージョンを確認するを参考にパッケージを確認するとstripeのライブラリは確認できました。
$ php composer.phar show -i You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages. phpmailer/phpmailer v5.2.26 PHPMailer is a full-featured email creation and transfer class for PHP stripe/stripe-php v6.15.0 Stripe PHP Library
venderディレクトリを確認すると以前composerでインストールしたphpmailerのディレクトリが存在し、今回インストールしたいstripeのライブラリ(stripe-php)が存在しないので、composerによるインストール自体がどこかの段階で失敗しているような気がします。
$ ls -al /var/www/inc/vendor/ total 4 drwxrwsr-x 4 user apache 59 Aug 13 09:10 . drwxrwsr-x 3 user apache 75 Jul 12 09:57 .. -rw-rw-r-- 1 user apache 178 Jul 12 09:30 autoload.php drwxrwsr-x 2 user apache 203 Jul 12 09:30 composer drwxrwsr-x 3 user apache 23 Jul 12 09:30 phpmailer
[PHP]ComposerでAutoload出来ない時の確認方法
上のページを参考にデバッグを試みた結果コード側でstripe-phpのautoloadに失敗していることは確認できました。
補足情報
PHP: 7.2.5
OS: Amazon Linux release 2 (2017.12)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/15 05:01 編集