我安装了Composer和一个用于Mailgun's服务的SDK。这些是我遵循的步骤:
# current directory
cd ~
# Install Composer
curl -sS https://getcomposer.org/installer | php
# Add Mailgun as a dependency
php composer.phar require mailgun/mailgun-php:~1.7
根据说明,我之后做的就是(index.php):
<?php
require 'vendor/autoload.php';
use Mailgun\Mailgun;
# First, instantiate the SDK with your API credentials and define your domain.
$mg = new Mailgun("key-my-key-goes-here-987654321");
$domain = "somedomain.com";
然后,我尝试获取bounced电子邮件列表:
$data = $mg->get("$domain/bounces", array('limit' => 15, 'skip' => 0));
var_dump($data);
......我收到了这个错误:
警告:require(vendor / autoload.php):无法打开流:没有 第2行/var/www/html/index.php中的文件或目录致命错误: require():打开所需的'vendor / autoload.php'失败 (include_path ='。:/ usr / share / pear:/ usr / share / php')in 第2行的/var/www/html/index.php
所以我猜它可能与作曲家的安装/配置有关?谢谢你的帮助...
答案 0 :(得分:1)
您编程的方式,您必须将以下文件全部放在同一目录中:
composer.json
index.php (your test script)
您必须在此目录中运行composer require
命令。这也会在这里创建一个名为vendor
的目录,并添加大量文件,其中包括vendor/autoload.php
。
但是,如果您的测试脚本不在此位置,则require
调用将找不到您告诉PHP查找它的文件。这不是Composer的任何失败,而只是根据您的情况而不是通过复制和粘贴代码来包含该文件。如果更改测试脚本的路径,则还必须更改供应商目录的路径。