我遇到了symfony 2安全组件的有线问题.由于{{ app.user }}对象仅在安全区域内可用,因此我将防火墙模式设置为^/.现在我想要"无担保"一些页面,比如注册.我通过使用尝试了这个,access_control但它不起作用.
这是我的security.yml
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/account/login$
security: false
account_area:
pattern: ^/
form_login:
check_path: /account/login_check
login_path: /account/login
default_target_path: /account
remember_me:
key: blaBlubKey
lifetime: 3600
path: /
domain: ~
logout:
path: /account/logout
target: /
access_control:
#works
- { path: ^/backend, roles: ROLE_USER }
#works not
- { path: ^/registration, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Run Code Online (Sandbox Code Playgroud)
提前致谢!
对于我的项目之一,我需要导入一个非常大的文本文件(~950MB).我正在为我的项目使用Symfony2和Doctrine 2.
我的问题是我得到的错误如下:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 24 bytes)
Run Code Online (Sandbox Code Playgroud)
如果我将内存限制增加到1GB,甚至会出现错误.
我试图通过使用XDebug和KCacheGrind(作为PHPEdit的一部分)来分析问题,但我真的不明白这些值:(
我正在寻找一种工具或方法(Quick and Simple,因为我没有太多时间)来找出为什么分配内存而不是再次释放.
编辑
要清除这里的一些内容,我的代码是:
$handle = fopen($geonameBasePath . 'allCountries.txt','r');
$i = 0;
$batchSize = 100;
if($handle) {
while (($buffer = fgets($handle,16384)) !== false) {
if( $buffer[0] == '#') //skip comments
continue;
//split parts
$parts = explode("\t",$buffer);
if( $parts[6] != 'P')
continue;
if( $i%$batchSize == 0 ) {
echo 'Flush & Clear' . PHP_EOL;
$em->flush();
$em->clear();
}
$entity = $em->getRepository('MyApplicationBundle:City')->findOneByGeonameId( $parts[0] …Run Code Online (Sandbox Code Playgroud)