PHP 代码在本地工作但在 Azure 上不工作

PHP code working locally but not on Azure

我已经使用 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 无法加载某些东西有关。

有什么想法吗?

根据 https://github.com/SparkPost/php-sparkpost/blob/master/composer.json#L18, it need PHP version higher than 5.5. So you can modify the PHP version of your Azure Web Apps, please refer to https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/#how-to-change-the-built-in-php-version 上 Github 回购的 SparkPost 库的要求,了解详细步骤。