我最近在Symfony 4中完成了一个API,我想将它部署到AWS的ElasticBean秸秆上进行生产测试。但是,除了能够访问index.php Symfony默认页中默认的Symfony 4问候语之外,
我无法找到任何其他逻辑。例如,当尝试使用/note/view (在本地环境上工作)时,注/对当地情况的看法
在EB环境中,我遇到了一个“未定义的索引/注释/视图不存在”。就像我的routes.yaml没有加载一样。
任何建议都将不胜感激!提前感谢!
发布于 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`
<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测试这一理论的基本重写。您可以根据项目的需要向该文件添加更多内容。
sudo service httpd restart或者,代替cd /var/app/current/public,您可以执行cd /var/www/html/public,因为它是/var/app/current/public的符号链接。
如何访问EB生成的EC2实例
这将需要一段时间,你才能登录。
当然,EBS背后的主要思想之一是,您不需要在实例中使用SSH。然而,这只是为了测试理论,有时使用AWS,您需要使用跟踪和错误风格。我不知道这个应用程序的设置,也不知道整个EBS设置和它的工作流程。如果这将解决您的问题,您可以简单地将.htaccess包含到您的项目中,这样就可以了。
https://stackoverflow.com/questions/52722596
复制相似问题