1

我已经使用 SparkPost 为网站实现了邮件递送服务。代码如下所示:

require '/vendor/autoload.php';

use SparkPost\SparkPost; use GuzzleHttp\Client;
use Ivory\HttpAdapter\Guzzle6HttpAdapter;
$httpAdapter = new Guzzle6HttpAdapter(new Client());
$sparky = new SparkPost($httpAdapter, ['key'=>'...']);
[...]
[...]
$results = $sparky->transmission->send($mailarray);

它在 WampServer 上本地运行得很好,但是当我将它部署到 Azure 时却不行。我无权访问 Azure 日志,但我设法将问题缩小到一行:

$sparky = new SparkPost($httpAdapter, ['key'=>'...']);

我只是得到一个 500 错误,没有任何其他解释。奇怪的是,当我将它包裹在 try/catch 上时,除了空白屏幕和控制台上的 500 之外,我仍然没有得到任何东西。我怀疑它必须与 /autoload.php 无法加载某些东西有关。

有什么想法吗?

4

1 回答 1

1

根据https://github.com/SparkPost/php-sparkpost/blob/master/composer.json#L18 Github repo 上 SparkPost lib 的要求,它需要 PHP 版本高于5.5. 所以你可以修改你的 Azure Web Apps 的 PHP 版本,请参考https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/#how-to-change-the -built-in-php-version了解详细步骤。

于 2016-04-06T05:27:20.603 回答