如何解决Google App Engine Standard上具有PHP Lumen的Stackdriver
我的目的是使用Google Stackdriver管理应用程序的日志。该应用是流明5.8。实际上,它可以在本地运行,但是如果部署在我的Google App Engine应用程序上,它不会返回任何错误,但是不会报告任何日志。完成步骤:
- 安装Google Cloud软件包
composer require google/cloud
- 创建我的Stackdriver记录器类
<?PHP
namespace App\Logging;
use Google\Cloud\Logging\LoggingClient;
use Monolog\Handler\PsrHandler;
use Monolog\Logger;
class CreateStackdriverLogger
{
/**
* Create a custom Monolog instance.
*
* @param array $config
* @return \Monolog\Logger
*/
public function __invoke(array $config)
{
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . config('google.service_account.filepath'));
$logger = LoggingClient::psrBatchLogger('app');
$handler = new PsrHandler($logger);
return new Logger('stackdriver',[$handler]);
}
}
<?PHP
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use App\Logging\CreateStackdriverLogger;
return [
'channels' => [
'stackdriver' => [
'driver' => 'custom','via' => CreateStackdriverLogger::class,'level' => 'debug',],...
$app->configure('logging');
我在做什么错了?
解决方法
知道了。问题出在我的 php.ini 中:
extension=grpc.so
extension=protobuf.so
extension=mongodb.so
删除 grpc.so 和 protobuf.so 后,它恢复正常工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。