Symfony 4项目生产问题
Posted
技术标签:
【中文标题】Symfony 4项目生产问题【英文标题】:Symfony 4 project Production problems 【发布时间】:2021-05-11 23:53:33 【问题描述】:伙计们,我在部署 Symfony 项目时遇到了一些麻烦:
我运行命令:
composer install --no-dev --optimize-autoloader
我使用了 apache-pack:
composer require symfony/apache-pack
这在公用文件夹中创建了一个带有 index.php 的 .htaccess。
-找不到资产。 (公用文件夹内的元素):
GET http://buy-m3.infinityfreeapp.com/css/custom.css
net::ERR_ABORTED 404 (Not Found)
-数据库连接问题:
Request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException:
"An exception occurred in driver: SQLSTATE[HY000] [2002] N
o such file or directory" at /home/vol6_3/epizy.com/epighhg78813/htdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractmysqlDriver.php
line 112 "exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 0): An exception occurred in driver: SQLSTATE[HY000] [2002]
No such file or directory at /home/vol6_3/epizy.com/epghghgh878813/htdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:112)\n
[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002]
No such file or directory at /home/vol6_3/epizy.com/epihghgh13/htdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18)
\n[previous exception] [object] (PDOException(code: 2002):
SQLSTATE[HY000] [2002] No such file or directory at /home/vol6_3/epizy.com/epighgh8813/htdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:38)" []
转储环境产品:
// This file was generated by running "composer dump-env prod"
return array (
'APP_ENV' => 'prod',
'APP_SECRET' => 'c84117fa77c8ghgghghhgds03',
'DATABASE_URL' => 'mysql:user:password@shost/dnbame',
);
我也在应用程序根目录添加了一个 htacces:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ public/$1 [QSA,L]
</IfModule>
有人可以帮忙吗?谢谢
【问题讨论】:
【参考方案1】:大家好,我可以通过很多过程来解决这个问题:首先:composer require symfony/asset,然后执行部署 symfony 应用程序的常用命令,例如 composer require symfony/requirements-checker、composer dump-env prod(确保执行此命令,它会创建一个 env..php 文件,其中包含您的 .env. 信息,这是来自公共文件夹的 index.php 所需的信息。composer install --no-dev -- optimize-autoloader 和 APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear。另外,我不得不使用webpack来管理资产,有文档:https://symfony.com/doc/current/frontend.html
问候!
【讨论】:
以上是关于Symfony 4项目生产问题的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 2 还是 Symfony 1.4? [关闭]
为啥升级到 Symfony 4.4 后我不再看到错误预览页面?
Symfony app_dev.php 正在工作,但生产它被重定向到本地主机