缓存 – Symfony2 app.php有效,但不适用app_dev.php
发布时间:2020-12-13 17:44:35 所属栏目:PHP教程 来源:网络整理
导读:我已将我的Symfony2项目部署到我的开发服务器,并希望运行开发环境. 如果我使用/app.php,一切运行正常,但如果我尝试app_dev.php,我会收到404错误: 在此服务器上找不到请求的URL /app_dev.php. 下面是我的.htaccess文件的副本: IfModule mod_rewrite.c Optio
我已将我的Symfony2项目部署到我的开发服务器,并希望运行开发环境.
如果我使用/app.php,一切运行正常,但如果我尝试app_dev.php,我会收到404错误: 在此服务器上找不到请求的URL /app_dev.php. 下面是我的.htaccess文件的副本: <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> 它在我的本地机器上工作正常,而不是在我的开发服务器上,任何想法为什么? 我的/ cache和/ logs目录都具有777权限,并由www-data拥有: 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完全相同. 解决方法
检查你的app_dev.php是否有限制拒绝从服务器本身以外的其他计算机访问开发环境.
这是出于安全原因,如果您部署到生产服务器并且用户可以访问dev env,那么他/她可以了解您的应用程序. // 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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |