首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4在AWS弹性豆秆上运行

Symfony 4在AWS弹性豆秆上运行
EN

Stack Overflow用户
提问于 2018-10-09 13:43:46
回答 1查看 1.7K关注 0票数 3

我最近在Symfony 4中完成了一个API,我想将它部署到AWS的ElasticBean秸秆上进行生产测试。但是,除了能够访问index.php Symfony默认页中默认的Symfony 4问候语之外,

我无法找到任何其他逻辑。例如,当尝试使用/note/view (在本地环境上工作)时,注/对当地情况的看法

在EB环境中,我遇到了一个“未定义的索引/注释/视图不存在”。就像我的routes.yaml没有加载一样。

任何建议都将不胜感激!提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-08 10:33:41

确保在您的.htaccess目录中有public文件(至少在EB创建的EC2实例-the中是这样的)

您的本地用户可能不需要它(比如nginx),但是EB PHP随apache一起出现了。您需要确保您的代码也能在apache上工作。

为了测试这一理论,访问由EB创建的EC2实例(如果您不知道如何创建,请参见下面);

  • cd /var/app/current/public
  • ~ nano .htaccess
  • 将下面的内容粘贴到文件中;

`

代码语言:javascript
复制
<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /index.php/
    </IfModule>
</IfModule>

请注意,这只是apache测试这一理论的基本重写。您可以根据项目的需要向该文件添加更多内容。

  • 重新启动apache;sudo service httpd restart
  • 试试看!

或者,代替cd /var/app/current/public,您可以执行cd /var/www/html/public,因为它是/var/app/current/public的符号链接。

如何访问EB生成的EC2实例

  • 转到AWS控制台->弹性豆柄->您的应用程序->您的环境
  • 一旦进入环境仪表板,单击左侧的“配置”
  • 找到“安全”框,然后单击“修改”。
  • 在“虚拟机权限”下选择"EC2密钥对“并保存。
  • 转到EC2 ->实例,并找到您的EC2实例的公共DNS (IPv4),并使用它访问您的EC2密钥对( pem文件)

这将需要一段时间,你才能登录。

当然,EBS背后的主要思想之一是,您不需要在实例中使用SSH。然而,这只是为了测试理论,有时使用AWS,您需要使用跟踪和错误风格。我不知道这个应用程序的设置,也不知道整个EBS设置和它的工作流程。如果这将解决您的问题,您可以简单地将.htaccess包含到您的项目中,这样就可以了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52722596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档