【发布时间】:2020-03-14 03:34:01
【问题描述】:
我正在将一个 laravel 6 项目部署到一个亚马逊弹性 beanstalk 应用程序。它正在运行 php7.3。
在
eb deploy
错误:ServiceError - 无法部署应用程序。
查看日志我发现它找不到类“Memcached”
@php artisan package:discover --ansi
Symfony\Component\Debug\Exception\FatalThrowableError : Class 'Memcached' not found
at /var/app/ondeck/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php:69
65| * @return \Memcached
66| */
67| protected function createMemcachedInstance($connectionId)
68| {
> 69| return empty($connectionId) ? new Memcached : new Memcached($connectionId);
70| }
71|
72| /**
73| * Set the SASL credentials on the Memcached connection.
Exception trace:
1 Illuminate\Cache\MemcachedConnector::createMemcachedInstance()
/var/app/ondeck/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php:48
2 Illuminate\Cache\MemcachedConnector::getMemcached([], [])
/var/app/ondeck/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php:21
实例运行的是 Amazon Linux 2.9。
我还添加了一个配置文件来使用这些包安装 memcache。
这是.ebextensions/memcache_installer.cfg.yml
内容如下:
packages:
yum:
memcached: []
php-pecl-memcached: []
错误仍然没有消失。但是它们确实会被安装,因为如果我尝试从实例中安装它们,我会得到包已经安装。
【问题讨论】:
-
你找到答案了吗?从 amazon linux 7.2 迁移到 7.3 ebs 映像后,我们遇到了同样的问题
-
没有最终使用 7.2..
-
有趣...似乎从 PHP 7.1 -> PHP 7.3 AMI 发生了翻天覆地的变化。
标签: php laravel amazon-web-services amazon-elastic-beanstalk