dtu15253
2014-12-01 04:45
浏览 384
已采纳

Cygwin上的Symfony2 - PHP分段错误

I struggle to be able to run PHP client line interface on Cygwin. I receive constantly Segmentation fault error. But some of functions are correctly done - I cannot say when does it happen.

If somebody had this error, please give me any clue to correctly run PHP CLI under cygwin.

Thanks in advance!

EDIT

I Receive stackdump, but I don't know if it tells anything:

Exception: STATUS_ACCESS_VIOLATION at eip=603B7AC6
eax=0000000A ebx=FFE42FFF ecx=002853E0 edx=FFE43000 esi=00000000 edi=FFE43000
ebp=002853E2 esp=00285240 program=C:\cygwin\bin\php.exe, pid 10056, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame     Function  Args
002853E2  603B7AC6 (022A018F, 02D40284, 0348030B, 0374034D)
00040002  00F30055 (00340000, 01E00000, 020C0000, 00360000)

Moreover I tried to limit in php.ini

pcre.recursion_limit=1000    
  • no effect.

It crashes every time when I work with client line interface. If I run it through Apache2 there is no problem.

How can I debug it effectively?

EDIT

I run it with php-cgi, where I receive the html output with error description:

ContextErrorException: Warning: Invalid argument supplied for foreach() in ...

Having this information I guess that there is a problem with input arguments. If I run scripts without arguments from console I don't receive segmentation fault.

This is Symfony framework and those scripts run like a charm on windows and ubuntu on console. So I guess: - there is something wrong with PHP settings - there is something wrong with console on Cygwin

Any idea how can I debug it more?

图片转代码服务由CSDN问答提供 功能建议

我很难在Cygwin上运行PHP客户端界面。 我不断收到 Segmentation fault 错误。 但是有些函数是正确完成的 - 我不知道它什么时候发生。

如果有人有这个错误,请给我任何线索在cygwin下正确运行PHP CLI。

提前致谢!

编辑

我收到了stackdump,但我不知道 知道它是否告诉任何事情:

 异常:在eip = 603B7AC6 
eax = 0000000A时的STATUS_ACCESS_VIOLATION ebx = FFE42FFF ecx = 002853E0 edx = FFE43000 esi = 00000000 edi = FFE43000 
ebp = 002853E2  esp = 00285240 program = C:\ cygwin \ bin \ php.exe,pid 10056,thread main 
cs = 0023 ds = 002B es = 002B fs = 0053 gs = 002B ss = 002B 
Stack trace:
Frame Function Args 
002853E2  603B7AC6(022A018F,02D40284,0348030B,0374034D)
00040002 00F30055(00340000,01E00000,020C0000,00360000)
   
 
 

此外我试图限制php.ini

  pcre.recursion_limit = 1000 
   
 
 
  • 无效。

    每次使用客户端行界面时崩溃都会崩溃。 如果我通过Apache2运行它没有问题。

    如何有效地调试它?

    编辑

    我用php-cgi运行它,我收到带有错误描述的html输出:

      ContextErrorException:警告:为foreach提供的参数无效 ()in ... 
       
     
     

    有了这些信息,我猜输入参数有问题。 如果我从控制台运行没有参数的脚本,我就不会收到 segmentation fault

    这是Symfony框架,这些脚本在Windows上以及在控制台上的ubuntu上运行。 所以我猜: - PHP设置有问题 - Cygwin上的控制台出现问题

    任何想法我怎样才能调试它? \ n

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douhun7609 2014-12-02 22:16
    已采纳

    After long hours of useless research I end up with removing php5 and php from Cygwin and mapping there standalone PHP for Windows.

    For anyone facing this problem:

    1. Uninstall all "PHP" group of extensions for cygwin
    2. Run cygwin
    3. rm -f /usr/bin/php.exe
    4. rm -rf /usr/share/php
    5. Download and install brand new PHP for Windows
    6. ln -s /cygdrive/c/your/path/to/php/php.exe /usr/bin/php.exe

    So I don't know why this issue occured to me, but fresh native php for windows installation helped.

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题