2012-01-24 2 views
0

В моем основном файле php я использую метод define() для установки некоторых констант. Идея заключается в том, чтобы использовать их, чтобы загрузить некоторые пользовательские настройки и другие элементы управления конфигурацией, но когда время, чтобы использовать их приходит на экране выводится сообщение об ошибке, как это:Конфигурация wampserver - как включить константы?

Notice: Use of undefined constant CONSTANT_NAME - assumed 'CONSTANT_NAME' in (file path) on line X

Для некоторых проблем есть работа вокруг, объявление переменной полезно, но не решает все проблемы.

Заранее благодарен!

PS: Я также использую файл настроек, но проблема сохраняется.

ответ

0

Для них не требуются специальные настройки. Вы просто создать один нравится:

define('TEST_NAME', 'biotox'); 

, и вы должны быть в состоянии назвать его:

echo TEST_NAME; 

и выход должен быть biotox. Я протестировал его на своем WampServer без проблем.

+0

На производстве этой проблема не существует, но я решил выбрать XAMPP с WampServer на разработчик после некоторых проблем при установке на окнах 7. Использование константы для контроля, если пользователь входит в раздел без разрешения. В случае, если у него нет системы переадресации его на его страничку. С wampserver в случае, если определено (CONSTANT_NAME) ложно, перенаправление вызывает цикл! Например, sheet1.php: define (CONSTANT_NAME); sheet2.php: @defined (CONSTANT_NAME) или заголовок ('Местоположение http: //domain/sheet1.php'); // обратите внимание на @ с ним. Я решил проблему ошибки сообщения в случае false – matt

+0

Итак, вы используют XAMPP в качестве сервера тестирования (localhost)? – Biotox

+0

После прочтения этого, это заставляет меня думать, что вы пытаетесь использовать константы, такие как '$ _SESSION' var. Если 'sheet1.php' имеет вашу константу и переходит к' sheet2.php', константа не переносится. Таким образом, вы получите перенаправление. – Biotox

1

ОК, ошибка заключалась в том, что CONSTANT_NAME был истолкован как строка из-за отсутствия одиночных или двойных кавычек. Небольшая ошибка родилась только для глаз орла!

Правильный путь: defined('CONSTANT_NAME');

+0

И просто, чтобы закрыть это сообщение, я должен добавить, что если вы используете его для перенаправления на главную страницу и есть цикл, используя '@' перед определенным элементом управления, вы пропустите ошибки! – matt