我们在PHP7.0中遇到了这个奇怪的问题。我们在PHP7.0上运行Magento2 2的索引器,并且在不同的环境中有不同的结果。如果我们使用CentOS,并从雷米回购或Webtatic获得PHP7.0,我们将得到一个分段错误,如下所示:
Program received signal SIGSEGV, Segmentation fault.
zend_mm_alloc_small (size=<optimized out>, bin_num=<optimized out>, heap=<optimized out>) at /usr/src/debug/php-7.0.1RC1/Zend/zend_alloc.c:1291
1291 heap->free_slot[bin_num] = p->next_free_slot;
Missing separate debuginfos, use: debuginfo-install openssl-libs-1.0.1e-51.el7_2.1.x86_64
(gdb) backtrace
#0 zend_mm_alloc_small (size=<optimized out>, bin_num=<optimized out>, heap=<optimized out>) at /usr/src/debug/php-7.0.1RC1/Zend/zend_alloc.c:1291
#1 zend_mm_alloc_heap (size=<optimized out>, heap=<optimized out>) at /usr/src/debug/php-7.0.1RC1/Zend/zend_alloc.c:1358
#2 _emalloc (size=3, size@entry=32) at /usr/src/debug/php-7.0.1RC1/Zend/zend_alloc.c:2442
#3 0x0000555555666840 in zend_string_alloc (persistent=0, len=4) at /usr/src/debug/php-7.0.1RC1/Zend/zend_string.h:121
#4 php_pcre_replace_impl (pce=pce@entry=0x555555e76e40, subject_str=subject_str@entry=0x7fffd72fec68, subject=subject@entry=0x7fffd72fec80 "TypeId", subject_len=subject_len@entry=6, replace_val=replace_val@entry=0x7fffd2a393b0,
is_callable_replace=is_callable_replace@entry=0, limit=<optimized out>, limit@entry=-1, replace_count=replace_count@entry=0x7fffffff7d5c) at /usr/src/debug/php-7.0.1RC1/ext/pcre/php_pcre.c:1217但是,如果我们使用编译后的PHP7版本,就不会出现错误。我们还尝试使用ppa:ondrej/php-7.0中配置有Ubuntu14.0和PHP7.0.0的迷航盒,那里也没有问题。
知道为什么在使用这些特定的repos时会出现此错误吗?
带有7.0.1堆栈跟踪的更新的是不同的:
`Program received signal SIGSEGV, Segmentation fault.
0x00007fffded34620 in ?? ()
#0 0x00007fffded34620 in ?? ()
#1 0x00005555557db82b in execute_ex (ex=<optimized out>) at /usr/src/debug/php-7.0.1/Zend/zend_vm_execute.h:414
#2 0x000055555578ddd9 in dtrace_execute_ex (execute_data=<optimized out>) at /usr/src/debug/php-7.0.1/Zend/zend_dtrace.c:83发布于 2016-01-03 03:42:59
请参阅Magento论坛的链接:
https://community.magento.com/t5/Installing-Magento-2/PHP-7-Segmentation-Fault-CentOS-7-x/td-p/25031
这是官方回购:https://github.com/magento/magento2/issues/2750
在一些本地测试中,我复制了这个问题(使用ppa:ondrej/php-7.0) (Ubuntu14.04),更糟糕的是,“分段错误”将索引器保持为“处理”(因为它没有成功完成),我们必须在重新运行索引之前更改数据表(indexer_state)并手动修复这些值。
似乎Magento 2没有“完全”支持PHP7吗?
https://stackoverflow.com/questions/34343271
复制相似问题