今天,我具有以下插入性。
我有以下方法:
public function setTypeValidation ( array $meta, mixed $argument ) {
if ( isset ( $meta [ "@var" ] ) ) {
if ( \is_array ( $meta [ "@var" ] ) ) {
if ( isset ( $meta [ "@var" ] [ 0 ] ) ) {
$auxMeta = $meta [ "@var" ] [ 0 ];
} else {
throw new Exception ();
}
}
} else {
throw new Exception ();
}
// code to validate data types
}
我进行作业时会发生问题
$auxMeta = $meta [ "@var" ] [ 0 ];
加载页面一分钟后,浏览器向我显示以下内容:
This page does not work
localhost has not sent any data.
然后检查/var/log/apache2/error.log,这是向我显示的错误
[core: notice] [pid 8645] AH00052: child pid 12145 exit signal Segmentation fault (11)
几天来,我一直在寻找该错误的答案,但没有什么可以帮助我有效地解决此问题。应该注意的是,我使用的php配置是标准配置,apache配置也是。另一方面,在同一个论坛中,我得到了修改php指令“ memory_limit”以及修改php指令“ zend.enable_gc”的表单,但是没有一个对我有太大帮助。如果仅修改“ zend.enable_gc = Off”,处理该方法就不需要花费很长时间,但是最终页面仍保留在页面上。
现在,如果我执行以下测试:
\var_dump ( $meta );
它向我显示以下内容:
array ( size = 3 )
'@string' => boolean true
'@readwrite' => boolean true
'@var' =>
array ( size = 1 )
0 => string 'string' ( length = 6 )
那很好,因为这就是安排所带来的信息。即使我做了其他测试:
\var_dump ( $meta [ "@var" ] [ 0 ] );
它向我显示以下内容:
/var/www/html/ecomod/sys/core/Inspector.php:445:string 'string' (length = 6)
实际上,这就是我想要获得的值,但是正如我之前说过的,如果我将其分配给变量,则会出现我所遇到的问题。
另一个额外的事实是,如果我在方法之外(即在平面脚本中)执行相同的过程,则它可以正常工作。
这里会发生什么?
谢谢。