Symfony主义数据加载分段错误

时间:2010-07-18 16:24:56

标签: php symfony1 doctrine segmentation-fault fixtures

我正在研究Symfony Jobeet教程,并在尝试从我的灯具文件加载数据时遇到分段错误。

PHP 5.2.6-1 + lenny8与Suhosin-Patch 0.9.6.2(cli),S symfony版本1.4.5

我正在使用Doctrine插件。

我的下面的灯具:

/data/fixtures/categories.yml

JobeetCategory:
  design:
    name: Design
  programming:
    name: Programming
  manager:
    name: Manager
  administrator:
    name: Administrator

/data/fixtures/jobs.yml

JobeetJob:
  job_sensio_labs:
    JobeetCategory: programming
    type:         full-time
    company:      Sensio Labs
    logo:         sensio-labs.gif
    url:          http://www.sensiolabs.com/
    position:     Web Developer
    location:     Paris, France
    description:  |
      You've already developed websites with symfony and you want to work
      with Open-Source technologies. You have a minimum of 3 years
      experience in web development with PHP or Java and you wish to
      participate to development of Web 2.0 sites using the best
      frameworks available.
    how_to_apply: |
      Send your resume to fabien.potencier [at] sensio.com
    is_public:    true
    is_activated: true
    token:        job_sensio_labs
    email:        job@example.com
    expires_at:   '2010-10-10'

  job_extreme_sensio:
    JobeetCategory:  design
    type:         part-time
    company:      Extreme Sensio
    logo:         extreme-sensio.gif
    url:          http://www.extreme-sensio.com/
    position:     Web Designer
    location:     Paris, France
    description:  |
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
      eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
      enim ad minim veniam, quis nostrud exercitation ullamco laboris
      nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
      in reprehenderit in.

      Voluptate velit esse cillum dolore eu fugiat nulla pariatur.
      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum.
    how_to_apply: |
      Send your resume to fabien.potencier [at] sensio.com
    is_public:    true
    is_activated: true
    token:        job_extreme_sensio
    email:        job@example.com
    expires_at:   '2010-10-10'

  expired_job:
    JobeetCategory: programming
    company:        Sensio Labs
    position:       Web Developer
    location:       Paris, France
    description:    Lorem ipsum dolor sit amet, consectetur adipisicing elit.
    how_to_apply:   Send your resume to lorem.ipsum [at] dolor.sit
    is_public:      true
    is_activated:   true
    created_at:     '2005-12-01 00:00:00'
    token:          job_expired
    email:          job@example.com
<?php for ($i = 100; $i <= 130; $i++): ?>
  job_<?php echo $i ?>:
    JobeetCategory: programming
    company:      Company <?php echo $i."\n" ?>
    position:     Web Developer
    location:     Paris, France
    description:  Lorem ipsum dolor sit amet, consectetur adipisicing elit.
    how_to_apply: |
      Send your resume to lorem.ipsum [at] company_<?php echo $i ?>.sit
    is_public:    true
    is_activated: true
    token:        job_<?php echo $i."\n" ?>
    email:        job@example.com

<?php endfor ?>

我完全按照它说的那样按照教程,我在第7天(http://www.symfony-project.org/jobeet/1_4/Doctrine/en/07)在作业类别模块创建然后更新数据库。

我真的不确定是什么导致这种情况。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:2)

分段错误通常是错误的操作码缓存或损坏的模块。我首先禁用像apc这样的操作码缓存,如果问题仍然存在,请继续禁用php-modules,以确定哪一个会给你带来问题。

如果即使这样不起作用,尝试升级php(5.2.13或5.3.2被认为是稳定的),如果问题持续存在最小用例,则向bugs.php.net报告错误。< / p>

答案 1 :(得分:1)

为了论证,我想分享我解决类似错误的方式。

我在审查的夹具逻辑中遇到了问题,它将返回相同的代码:分段错误

基本上,在声明并在方法中作为参数传递后,循环中覆盖了相同的var,是的,我知道,搭便车:)

因此,通过定义其他变量并正确地重新分配它们,错误完全消失了......

希望能像我一样帮助其他人访问此页面!

关于您的情况,如果其他答案没有解决,您可能需要在结束关闭指令后添加; ,尝试更正模板部分中的代码。

答案 2 :(得分:0)

当我在处理symfony项目时发生这种情况时,首先我检查日志,但并不总能找到解决方案。如果没有,我从我正在处理的项目中运行一些symfony命令,我已编程,看看是否在控制台中显示了一些描述的错误。

我还检查了我已完成的上一次更改并尝试回滚部分代码。

上次发生在我身上是因为yml文件中的参数不正确,只是一个&#34;父母&#34;类。

希望考虑如何思考这个问题会有所帮助。