Я реализовал службу доставки почты, используя 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 не может что-то загрузить.
Какие-нибудь мысли?
Согласно требованию SparkPost lib на 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/#how-to-change-the-built-in-php-version для подробных шагов.
Других решений пока нет …