Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2错误显示在生产模式中_Php_Symfony_Production Environment - Fatal编程技术网

Php Symfony2错误显示在生产模式中

Php Symfony2错误显示在生产模式中,php,symfony,production-environment,Php,Symfony,Production Environment,我将我的应用程序移动到symfony 2中的生产模式,使用此cmd行 php应用程序/控制台缓存:clear--env=prod--no debug 在我的“web/app.php”文件中 我将假值改为真 $kernel = new AppKernel('prod', true); 但是我的应用程序仍然会给我一些错误页面,比如devmod;例如,当我试图访问一个错误的链接时,就会出现“获取此页面”错误 通常,页面错误应该是这样的 首先,验证应用程序的web目录中是否存在.htaccess。

我将我的应用程序移动到symfony 2中的生产模式,使用此cmd行

php应用程序/控制台缓存:clear--env=prod--no debug

在我的“web/app.php”文件中

我将假值改为真

$kernel = new AppKernel('prod', true);
但是我的应用程序仍然会给我一些错误页面,比如devmod;例如,当我试图访问一个错误的链接时,就会出现“获取此页面”错误

通常,页面错误应该是这样的

首先,验证应用程序的
web
目录中是否存在
.htaccess

否则,从中获取并创建它

打开它并检查URL是否重定向到
/app.php/

如果看到一行包含
app\u dev.php
,请将其更改为
app.php

例如,如果您看到以下行:

RedirectMatch 302 ^/$ /app_dev.php/
将其更改为:

RedirectMatch 302 ^/$ /app.php/
然后,验证您的
web/app.php
的外观

此外,您给出的行应该是:

new AppKernel('prod', false')
最后,在prod环境的vhost中,验证没有指定任何
索引
,比如
app\u dev.php

默认的
.htaccess
为您执行此操作

vhost可以如下所示:

<VirtualHost *:80>
  ServerName your.domain
  DocumentRoot /var/www/path/to/project/web
  <Directory "/var/www/path/to/project/web">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

ServerName.domain
DocumentRoot/var/www/path/to/project/web
允许超越所有
要求所有授权
希望您的问题来自此常见错误之一。

  • 检查您的虚拟主机(或.htaccess)是否指向app.php文件
  • 手动清除缓存删除缓存文件夹的内容

    请注意,内核的第二个参数必须为false,否则将显示消息errors

    $kernel=new-AppKernel('prod',false)


如果您使用的是Apache,您是否查看了web/.htaccess文件以指向app.php(而不是app_dev.php),或者如果您使用的是Nginx,您可以查看/etc/Nginx/sites中的配置-enabled@Fox不客气。问题是从哪里来的?您的vhost,missing.htaccess,更改了
AppKernel('prod',false)
?我更改了
AppKernel('prod',false)
,然后它像charmOk一样工作,此参数对应于调试状态。将其设置为
false
禁用。
<VirtualHost *:80>
  ServerName your.domain
  DocumentRoot /var/www/path/to/project/web
  <Directory "/var/www/path/to/project/web">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>