首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2 app.php可以工作,但不能使用app_dev.php

Symfony2 app.php可以工作,但不能使用app_dev.php
EN

Stack Overflow用户
提问于 2013-03-15 19:52:22
回答 1查看 9.2K关注 0票数 4

我已经将我的Symfony2项目部署到我的开发服务器上,并希望运行开发环境。

如果我使用/app.php,一切都运行得很好,但是如果我尝试app_dev.php,我会得到一个404错误:

在此服务器上找不到请求的URL /app_dev.php。

下面是我的.htaccess文件的副本:

代码语言:javascript
复制
<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # Explicitly disable rewriting for front controllers
    RewriteRule ^app_dev.php - [L]
    RewriteRule ^app.php - [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    # Change below before deploying to production
    #RewriteRule ^(.*)$ app.php [QSA,L]
    RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>

它在我的本地机器上运行得很好,只是不能在我的开发服务器上运行,你知道为什么吗?

我的数据目录和/logs目录都有777权限,归www- /cache所有:

代码语言:javascript
复制
drwxrwxrwx+ 4 www-data www-data 4096 Mar 15 11:46 cache
drwxrwxrwx+ 2 www-data www-data 4096 Mar 15 11:05 logs

这些目录中的dev和prod完全相同。

EN

回答 1

Stack Overflow用户

发布于 2013-03-15 20:47:32

检查您的app_dev.php它有一个限制,拒绝从服务器本身以外的其他计算机访问开发环境。

这是出于安全原因,如果您部署到生产服务器,并且用户可以访问dev env,那么他/她可能会对您的应用程序了解很多。

代码语言:javascript
复制
// 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', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

您必须将您的IP添加到该数组中,或者删除整个数组(我不建议这样做)。

请始终记住将dev变量传递给AppKernel。$kernel = new AppKernel('dev', true);

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15431738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档