提交按钮在我的 Bluemix 应用程序上不再起作用(错误 500)

Submit button not working anymore on my Bluemix app (Error 500)

我的应用程序在大约整整一个月内都运行良好,但是在 03/17(上周)之后,我在单击提交按钮后不断收到此错误消息(我的应用程序发送了一封电子邮件,其中包含详细信息使用 SendGrid 的表单)。 单击“提交”按钮后 chrome 上的错误消息:

myapp.mybluemix.net is currently unable to handle this request.
HTTP ERROR 500

问题是我不记得有什么实质性的改变(我什至尝试了我的应用程序的旧版本但仍然没有用),但看起来这是一个 Bluemix 问题,因为它在本地运行良好。

这是我使用 "cf log" 命令的日志:

2017-03-20T19:24:55.65-0300 [APP/0]      OUT 22:24:55 httpd   | 169.54.180.77 -
- [20/Mar/2017:22:24:55 +0000] "POST /index.php HTTP/1.1" 500 - vcap_request_id=
682b55c0-a427-4984-78e5-3d192c613352 peer_addr=169.54.180.77
2017-03-20T19:24:55.65-0300 [APP/0]      OUT 22:24:55 httpd   | [Mon Mar 20 22:2
4:55.598001 2017] [proxy_fcgi:error] [pid 47:tid 140581812508416] [client 169.54
.180.77:48798] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error
: Call to undefined function SendGrid\mb_convert_encoding() in /home/vcap/app/l
ib/vendor/sendgrid/sendgrid/lib/helpers/mail/Mail.php:744\nStack trace:\n#0 /hom
e/vcap/app/htdocs/index.php(129): SendGrid\Content->__construct('text/plain', '
%PROPERTY={{Req...')\n#1 {main}\n  thrown in /home/vcap/app/lib/vendor/sendgrid/
sendgrid/lib/helpers/mail/Mail.php on line 744\n', referer: http://myapp.
mybluemix.net/index.php

我不知道如何解释这个错误,请帮忙!

这是我的一段代码:

// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
    $message = $sdrmsg;
require 'vendor/autoload.php';
// If you are not using Composer
// require("path/to/sendgrid-php/sendgrid-php.php");
$from = new SendGrid\Email("", "$email");
$subject = "REQUEST";
$to = new SendGrid\Email("email", "email@example.com");
$content = new SendGrid\Content("text/plain", $message);
$mail = new SendGrid\Mail($from, $subject, $to, $content);
$apiKey = 'mykey';
$sg = new \SendGrid($apiKey);
$response = $sg->client->mail()->send()->post($mail);
echo $response->body();
}

错误是- PHP 消息:PHP 致命错误:未捕获错误:调用未定义的函数 SendGrid\mb_convert_encoding()

决议: 您必须在您的服务器中启用 mb_string。您在使用 php_buildpack 吗?

mbstring 是 php buildpack 的受支持扩展,但必须明确启用。

您可以按照此答案解决您的错误 https://developer.ibm.com/answers/questions/179545/how-to-enable-mbstring-extension-in-php-buildpack.html