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 正在工作,但生产它被重定向到本地主机

使用Symfony框架在生产服务器上登录失败(由于...无法处理身份验证请求)

不考虑 symfony 4 的变化

使用 Symfony 框架在生产服务器上的用户登录失败(身份验证请求无法处理,因为...)