2012-06-14 3 views
1

Я программировал пользовательскую базу данных клиентов сегодня днем, когда заметил, что PHP начинает сбой без ошибки синтаксического анализа - в том, что я могу только предположить, была ошибка сегментации. Я попытался сузить проблему, пока не понял, когда переименовал некоторые функции, они перестанут рушиться. Это самая причудливая ошибка PHP, с которой я когда-либо сталкивался. Вот некоторые из имен функций, вызывающих проблемы:

create_user_account() - происшествиям
переименован в create_user_email() - работает
check_user_email() - сбой
переименованы в check_user_account() - работает

I 'м при полной потере того, что может вызвать эту ошибку. Любая помощь в отслеживании проблемы или диагностике проблемы будет оценена по достоинству.Что вызывает некоторые имена функций PHP, чтобы сбой PHP?

+0

Вы уверены, что create_user_account и check_user_email уникальны? – peacemaker

+2

не так быстро называть его ошибкой PHP – Galen

+0

Шаг 1: включена полная отчетность об ошибках и ведение журнала (по _settings_, а не в скрипте). Любые ошибки? – Wrikken

ответ

10

Попробуйте это:

function foo() {} 

работы! Но сейчас:

function foo() {} 
function foo() {} 

аварии! Ой! Переименуем функцию:

function foo() {} 
function foo2() {} 

Работы! Ура! Работает! Счастливый день!!!! Пойте и танцуйте!

Короче говоря: для этого требуется базовая отладка - какой код попадает, когда экран пуст? Пожалуйста, сделайте error_reporting(~0); ini_set('display_errors', 1); в самом начале вашего скрипта. Кроме того, вы должны enable error logging и следовать журналу ошибок. И на этом этапе: Какую часть сообщения об ошибке вы не понимаете конкретно?

+0

Спасибо, я работаю над очень ограниченной настройкой совместного хостинга, но я попробую это. – user1457323

+0

Ну, вы можете сделать отладку шаг за шагом, например. существует ['function_exists'] (http://php.net/function_exists). – hakre

+0

Странно! function_exists указывают, что функции, вызывающие проблему, уже существуют, но ... они этого не делают! Я работаю в PHP-файле только с несколькими строками. Я думаю, это из моих рук, и я должен сообщить об этом хозяину. – user1457323

Смежные вопросы