- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我对 Symfony2 有疑问。一切正常,有一天……开始出现问题……
当我打开一个页面时,我得到错误 500。服务器返回这个错误,而不是 Symfony。如果我刷新,我显示页面没有错误。但是当我打开一个新页面(新 url,同一个站点)时,错误又来了。
我试图重新加载apache。我尝试删除缓存和日志中的所有内容。我的控制台文件、app.php 文件、app_dev.php 文件都没有注释 umask(0000)。
这是我遇到错误时 symfony2 日志的最后一行:
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "JMS\I18nRoutingBundle\EventListener\CookieSettingListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse". [] []
[2015-09-04 11:20:57] security.DEBUG: Write SecurityContext in the session [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\ChromePhpHandler::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\EsiListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SaveSessionListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse". [] []
[2015-09-04 11:20:57] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onTerminate". [] []
apache 错误日志:
[Fri Sep 04 11:24:49 2015] [error] [client my.ip.here] Premature end of script headers: app_dev.php
当我使用 app.php 时,prod 中不存在该问题
系统日志中没有关于此的行。我在同一台服务器上的其他网站上没有问题。我没有硬盘空间问题。
有人有想法吗?谢谢
app_dev.php 文件:
<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;
// If you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information
umask(0000);
// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'xxx.xxx.xxx.xxx'))
) {
header('HTTP/1.0 403 Forbidden');
exit($_SERVER['REMOTE_ADDR'].' : You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
Debug::enable();
require_once __DIR__.'/../app/AppKernel.php';
$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
对于 apache 配置,它是 isp config 配置,我刚刚为这个网站添加了这个:
Apache 指令:
DocumentRoot /var/www/clients/client2/web56/web/symfony/web/
FcgidMaxRequestLen 20000000
php.ini :
apc.shm_size = 256M
realpath_cache_size = 4096k
realpath_cache_ttl=7200
session.auto_start = 0
xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.profiler_enable=0
在 config_dev.yml 中,如果我从 monolog 配置中删除 firephp 和 chromephp,问题就解决了。我认为这不是很好的解决方案,有人有其他想法吗?
最佳答案
我在 config_dev.yml 中评论了 firephp 和 chromephp :
imports:
- { resource: config.yml }
framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
intercept_redirects: false
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
# firephp:
# type: firephp
# level: info
# chromephp:
# type: chromephp
# level: info
assetic:
use_controller: true
#swiftmailer:
# delivery_address: me@example.com
关于php - Symfony2 app_dev.php 只有错误 500 脚本过早结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32394634/
我已将我的 Symfony2 网站部署到外部开发服务器,但是它没有从我的 github 存储库中提取 app_dev.php 文件。 app.php 已被拉出,我可以从那里访问该站点,但是如果我转到/
我在 symfony 2 中完成了我的应用程序。 现在我想从 url 中删除 web/app_dev.php/。 我阅读了相关内容并在执行此操作后: php app/console cache:cle
我正在 Symfony2 下开发一个项目。该项目实际上是由 OVH 在线托管的。在这个服务器上一切都很好。但是,我们现在正在更换主机。我正在尝试配置新主机。 我设置了一切(SF2 可以工作,mysql
在我的 Symfony2 项目中,我希望 app_dev.php 只能通过我的 IP 地址 访问。就像在 config.php 中一样,我可以设置一组 IP,因此每个人都无法访问此文件。app_dev
刚刚开始使用 Symfony2 并且在成为 ZF1 开发人员很长时间之后真的很喜欢它。 今晚开始向网站添加一些 Ajax 功能,但对以下内容有些困惑。 在我的 ajax 调用中,例如: $.ajax(
我刚买了一些共享主机 (OVH.com - PHP 5.6.21) 来托管 Symfony 3 项目(版本 3.1.3)。 在服务器上上传Symfony的config.php文件时,它只显示2条提高站
我刚买了一些共享主机 (OVH.com - PHP 5.6.21) 来托管 Symfony 3 项目(版本 3.1.3)。 在服务器上上传Symfony的config.php文件时,它只显示2条提高站
我正在研究 Symfony 2.0 中的安全性,但遇到了无法解释的问题。 我的安全包现在非常简单。 在放置真正的提供者之前,我尝试让一切正常工作。 所以,现在,当我访问该网站时,它会按预期向我发送登录
我已经在 VMware 播放器下的 CentOS 下的本地主机上安装了 Symfony。 (Windows 7、32 位)我的 PHP 版本是 5.3.3。 CentOS 是 6.5。 VMware
我对 Symfony2 有疑问。一切正常,有一天……开始出现问题…… 当我打开一个页面时,我得到错误 500。服务器返回这个错误,而不是 Symfony。如果我刷新,我显示页面没有错误。但是当我打开一
当我想让我的 symfony 网站上线时,如何从我的 url 中删除“web/app_dev.php/”? 这是开发过程中的默认 url, http://{localhost}/my-symfony-
我正在本地 windows 机器上运行 Symfony 3 应用程序。它由 XAMPP 服务器提供。当我访问我的本地 URL 时,该应用程序运行良好。问题是我似乎无法在开发环境中运行它。 Symfon
我将我的项目移至我的服务器,但我不希望该应用程序和 app_dev 以及所有开发环境都可用 如果能在dev环境(app_dev.php)中过滤掉有权限访问server prod的ip就更好了 我必须改
我正在学习 symfony2,我已经使用以下命令安装了 symfony2.7.0 LTS。 symfony new sflearning 并且我已经成功安装了symfony2.7.0。现在,当我尝试使
我正在本地开发一个网站/网络应用程序,其中包括许多ajax调用等...我的问题是每次我都必须将 app_dev.php 包含到 url 中 - 所以当我继续生产时我需要搜索并替换这些 url.. 有没
我使用命令 php app/console generate:bundle 创建了一个包这在 /app/AppKernel.php 中添加包还有 /app/config/routing.yml .如果
如何使用 JS/JQuery 区分页面是通过 app_dev.php 还是 app.php 请求的? 我想知道这样我就可以更改在 jquery ajax 调用中请求的路由。所以我的 JQuery Aj
我正在使用 Symfony 2 php 框架,它有几个不同的使用环境:开发、生产和测试。 app.php 前端 Controller 访问生产环境,app_dev.php 前端 Controller
我刚刚创建了我的第一个 Symfony2 项目。但是 URL 中的“/web/app_dev.php”部分让我很恼火。应该可以做到这一点没有虚拟主机... 但是当我通过 .htaccess 尝试此操作
我已将 Symfony2 项目部署到我的开发服务器,并希望运行开发环境。 如果我使用/app.php,一切运行正常,但如果我尝试 app_dev.php,我会收到 404 错误: 在此服务器上找不到请
我是一名优秀的程序员,十分优秀!