dttwois6098 2017-04-11 16:16
浏览 28

“本地主机页面无效”或Symfony 3的内存不足问题

I'm trying to add in a search page using checkboxes to select what the user wants to find. However I keep geting The localhost page isn’t working error 500 or something about not being enough memory

Allowed memory size of 536870912 bytes exhausted (tried to allocate 4096 bytes

I changed the php.ini to have 512M and I still got this error, before it said 134...bytes. I've reboot and reset everything.

Here is my code: The searchType page:

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;


class SearchType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('botanicalname', SearchType::class, array('label' => 'Botanical Name:'))
            ->add('commonname', SearchType::class, array('label' => 'Common Name:'))
            ->add('wetsoil', SearchType::class, array('label' => 'Tolerates Wet Soil:'))
            ->add('moistsoil', SearchType::class, array('label' => 'Prefers Moist Soil:'))
            ->add('peatysoil', SearchType::class, array('label' => 'Prefers Peaty Soil:'))
            ->add('welldrainedsoil', SearchType::class, array('label' => 'Prefers Well-drained Soil:'))
            ->add('drought', SearchType::class, array('label' => 'Tolerates Drought:'))
            ->add('claysoil', SearchType::class, array('label' => 'Tolerates Clay Soil:'))
            ->add('sandysoil', SearchType::class, array('label' => 'Prefers Sandy Soil:'))
            ->add('loamsoil', SearchType::class, array('label' => 'Prefers Loam Soil:'))
            ->add('infertilesoil', SearchType::class, array('label' => 'Tolerates Infertile Soil:'))
            ->add('richsoil', SearchType::class, array('label' => 'Prefers Rich Soil:'))
            ->add('compactedsoil', SearchType::class, array('label' => 'Tolerates Compacted Soil:'))
            ->add('cityconditions', SearchType::class, array('label' => 'Tolerates City Conditions:'))
            ->add('pollution', SearchType::class, array('label' => 'Tolerates Pollution:'))
            ->add('salt', SearchType::class, array('label' => 'Tolerates Salt Conditions:'))
            ->add('windy', SearchType::class, array('label' => 'Tolerates Windy Conditions:'))
            ->add('shade', SearchType::class, array('label' => 'Prefers Shade:'))
            ->add('partshade', SearchType::class, array('label' => 'Prefers Part Shade:'))
            ->add('fullsun', SearchType::class, array('label' => 'Prefers Full Sun:'))
            ->add('pestproblem', SearchType::class, array('label' => 'Pest Problem:'))
            ->add('phpreference', SearchType::class, array('label' => 'Pest Problem:'))
            ->add('borderlinehardy', SearchType::class, array('label' => 'BorderLine Hardy'))
            ->add('save', SubmitType::class, array('label' => 'Submit'));





    }

    /**
     * @param OptionsResolver $resolver
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AppBundle\Entity\Shrubs'
        ));
    }

    /** * {@inheritdoc} */
    public function getBlockPrefix(){
        return 'appbundle_shrubs';}
}

The controller:

 /**
     * Creates a new Shrubs entity.
     *
     * @Route("/search", name="shrubs_search")
     * @Method({"GET", "POST"})
     */
    public function searchAction(Request $request)
    {

        $form = $this->createForm('AppBundle\Form\SearchType');
        $form->handleRequest($request);


        return $this->render('shrubs/search.html.twig', array(

            'form' => $form->createView(),
        ));
    }

And my search page just have the twig form thing. Any ideas?

  • 写回答

1条回答 默认 最新

  • dongwuwan5646 2017-04-11 17:00
    关注

    You have a circular reference issue. You define a form type SearchTyp which contains itself: $builder->add('...', SearchType::class, ...). This is not possible. If I understand you correctly, at the moment, you just want a form containing checkboxes. You can use the built-in CheckboxTyp from symfony as you already do with TextType, SubmitType and so on (at least you have use statements for them):

    <?php
    
    namespace AppBundle\Form;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
    use Symfony\Component\Form\Extension\Core\Type\TextType;
    use Symfony\Component\Form\Extension\Core\Type\SubmitType;
    use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
    use Symfony\Component\Form\Extension\Core\Type\CheckboxType; # don't forget...
    
    
    class SearchType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('botanicalname', CheckboxType::class, array('label' => 'Botanical Name:'))
                ->add('commonname', CheckboxType::class, array('label' => 'Common Name:'))
                ->add('wetsoil', CheckboxType::class, array('label' => 'Tolerates Wet Soil:'))
                // ...
        }
        // ...
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线