Сегодня я пришел со следующей вставкой.
У меня есть следующий метод:
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)
И фактически это значение, которое я хочу получить, но, как я уже говорил ранее, если я назначу ее переменной, мне представляется проблема, с которой я сталкиваюсь.
Еще один дополнительный факт заключается в том, что если я выполняю ту же процедуру вне метода, то есть в плоском сценарии, еслион работает правильно.
Что здесь может происходить?
Заранее спасибо.