【发布时间】:2018-09-04 19:07:14
【问题描述】:
我决定将 Mailgun 用于我最新的 Laravel 项目,因为它似乎有很好的开箱即用集成。
我按照 Laravel 指南 (http://laravel.com/docs/mail#configuration) 设置 Mailgun,一切都在本地运行。在 Vagrant 中运行本地服务器时,我可以发送电子邮件,但是当我尝试从我的 DigitalOcean 服务器发送电子邮件时,我会收到以下错误:
file: "/home/forge/MYPROJECTSITE.com/vendor/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php"
line: 121
message: "Class 'GuzzleHttp\Client' not found"
type: "Symfony\Component\Debug\Exception\FatalErrorException"
我已尝试重新安装 Guzzle,并且对所有设置进行了三次检查。奇怪的是,当它从 Vagrant 运行时我会收到电子邮件,但从 DigitalOcean 服务器运行时却没有。
有没有人看到这个或知道什么设置可能导致这个?
感谢您的宝贵时间。
【问题讨论】:
-
您是否在 DigitalOcean 液滴上运行 Composer 安装或更新以导入 Guzzle 供应商包?
-
我正在使用 Laravel Forge 并且
composer install在部署脚本中。然而,我通过 SSH 连接到服务器,当我运行composer install时,我收到以下信息:“警告:锁定文件不是最新的,因为 composer.json 中的最新更改。你可能会得到过时的依赖项。运行更新以更新它们。”当我运行composer update时,我收到:“PHP 致命错误:未捕获的异常 'ErrorException' 带有消息 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony /console/Symfony/Component/Console/Application.php:981
标签: laravel digital-ocean mailgun guzzle