我已经将symfony4项目部署到共享主机(infinityFree)。但是当我转到我的网站时,出现500 Internal Server Error:
糟糕!发生错误服务器返回“ 500 Internal Server Error”。
发生故障。请让我们知道发生此错误时您正在做什么。我们将尽快修复它。不便之处,敬请原谅。
我的项目在具有开发人员模式的本地计算机上工作正常。
在htdocs / var / log / prod.depreciations.log中:
[2019-09-20 15:01:41] php.INFO: User Deprecated: The "Symfony\Component\Config\Definition\Builder\TreeBuilder::root()" method called for the "liip_imagine" configuration is deprecated since Symfony 4.3 ... etc
[2019-09-20 15:01:41] php.INFO: User Deprecated: A tree builder without a root node is deprecated since Symfony 4.2 ... etc
[2019-09-20 15:01:41] php.INFO: User Deprecated: The "Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser" class is deprecated since Symfony 4.3 ... etc
[2019-09-20 15:01:43] php.INFO: User Deprecated: The spaceless tag in "@LiipImagine/Form/form_div_layout.html.twig" at line 2 is deprecated since Twig 2.7, use the spaceless filter instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: The spaceless tag in \"@LiipImagine/Form/form_div_layout.html.twig\" at line 2 is deprecated since Twig 2.7 ... etc
htdocs / var / log /中没有错误日志。我的项目部署在htdocs中,并且在htaccess中作为我拥有的公用文件夹的同级文件:
php_value display_errors On
php_flag magic_quotes 1
php_flag magic_quotes_gpc 1
php_value mbstring.http_input auto
php_value date.timezone Europe/Paris
DirectoryIndex public/index.php
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ public/index.php [L]
#Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
在Cpanel中php版本是7.3(默认),我没有infinityfree的ssh访问权限。我已经遵循了本教程https://symfony.com/doc/current/deployment.html
好吧,问题是我在.env.local.php(或.env)中的数据库密码,请确保您输入cpanel密码。ps:在本地项目中运行之前生成.env.local.php:
composer dump-env prod
您将拥有.env.local.php:
return array (
'APP_ENV' => 'prod',
'APP_SECRET' => ' ',
'DATABASE_URL' => 'mysql://your_username:your_password@your_host/the_db_name',
'MAILER_URL' => 'null://localhost',
);
希望此帮助