PHP-код работает локально, но не в 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 без каких-либо других объяснений. Странная вещь, когда я оборачиваюсь вокруг попытки / улова, я все равно не получаю ничего, кроме пустого экрана и 500 на консоли. Я подозреваю, что это связано с тем, что /autoload.php не может что-то загрузить.

Какие-нибудь мысли?

1 ответ

Решение

В соответствии с требованием библиотеки SparkPost для репозитория Github по адресу https://github.com/SparkPost/php-sparkpost/blob/master/composer.json#L18, версия PHP должна быть выше, чем 5.5, Чтобы изменить версию PHP своих веб-приложений Azure, перейдите по https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/ для подробных шагов.

Другие вопросы по тегам