2009-10-22 49 views
0

我有一个运行在OSX雪豹上的php脚本。当我在命令行中运行它,它抛出osx php脚本引发分段错误

'分段错误'

。如果我把exit()放在文件末尾,它不会抛出错误。为什么需要退出?

+2

脚本在做什么?即使使用代码也很难调试段错误,所以没有太多困难。 – jergason 2009-10-22 19:13:09

+0

请张贴一些代码 – Josh 2009-10-22 22:51:20

+0

我们需要一些代码......或者至少有一些解释:您的脚本在做什么,您使用的是什么扩展,您从哪里获取PHP。另外:如果它是控制台的脚本,你可以尝试“查找”来追踪这些问题。 – aurora 2012-09-24 21:15:19

回答

0

当扩展并没有很好地结合在一起时,我已经有过这样的segfaults。在一个案例中,它是curl和pgsql,并且交换它们加载的顺序使问题消失。 (如果您有conf.d设置,请在php.ini中交换extension.so行或重命名文件(例如z-curl.ini)。)

0

没有看到代码就很难回答。尝试使用除法和调试方法:禁用所有带有注释的代码。看看是否发生问题。如果不是,则启用代码的前半部分。如果问题再次出现,请禁用除代码的第一部分以外的所有内容。继续划分并一致,直到找到导致问题的脚本部分。

我的猜测是你没有关闭一些打开的句柄。但我只是猜测,因为我看不到代码。