Author |
Message |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 11:48 am (написано за 4 минуты 36 секунд)
Post subject: перестал работать движок
|
|
На хосте установлен шаблонизатор из "Самоучителя PHP4". Ну так вот. Всё работало себе нормально, пока в один момент не случилось ЭТО. Первая страничка загружается, а следующие по ссылкам выдают: Fatal error: Unknown function: define() in /home/webadmin/uzelock.ru/html/_Kernel/php/Librarian.phl on line 1
На локальной машине всё по прежнему работает. Хостер помочь не может. Подскажите хоть какой-нибудь вариант. Спасибо
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Tue Aug 22, 2006 12:57 pm (спустя 1 час 9 минут; написано за 18 секунд)
Post subject:
|
|
Caps
какой define() - который константы определяет?
|
|
Back to top |
|
 |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 1:14 pm (спустя 16 минут; написано за 1 минуту 2 секунды)
Post subject:
|
|
Да-да, именно этот define - встроенный в PHP
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Tue Aug 22, 2006 2:12 pm (спустя 58 минут; написано за 2 минуты 57 секунд)
Post subject:
|
|
Будь я на ВАшем месте, я бы сначал написал тестовый скрипт, содержащий лишь объявление константы и проверку на её существование. Далее, есл итест не сработал, посмотрел бы в phpinfo() - вдруг эта функция в списке запрещённых. Если б нашел в phpinfo() - написал бы хостеру, что это явная ошибка. Если б не нашел - написал бы, что у них какая-то проблема с PHP и дал ссылку на тестовый скрипт. Если бы они отказались решать проблему - сменил бы хостинг
|
|
Back to top |
|
 |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 2:59 pm (спустя 46 минут; написано за 3 минуты 5 секунд)
Post subject:
|
|
Тест сработал нормально. Но обнаружилась одна особенность. Когда расширение файла теста .php, то всёработает, а когда .html, то та же ошибка! В .htaccess записано: ................ Code (Apache config): | скопировать код в буфер обмена | Action templhandler "/_Kernel/Template/TemplateHandler.php?" AddHandler templhandler .html IndexIgnore _* Options -Indexes -MultiViews DirectoryIndex index.html
<FilesMatch "^_"> order deny,allow deny from all </FilesMatch> |
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Tue Aug 22, 2006 5:34 pm (спустя 2 часа 35 минут; написано за 38 секунд)
Post subject:
|
|
Caps
может, на хостинге 2 разных PHP стоят? сверьте phpinfo() в файлах с разными расширениями
|
|
Back to top |
|
 |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 7:02 pm (спустя 1 час 27 минут; написано за 23 секунды)
Post subject:
|
|
Вызов любого файла с расширением html дает ошибку.
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Tue Aug 22, 2006 7:21 pm (спустя 19 минут; написано за 3 минуты 35 секунд)
Post subject:
|
|
Caps
отключите шаблонизатор и проверяйте. Или же прямо в самом Librarian вставьтеспособов - много. В общем: phpfaq.ru/debug
|
|
Back to top |
|
 |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 7:52 pm (спустя 31 минуту; написано за 2 минуты 15 секунд)
Post subject:
|
|
Если просто отключить шаблонизатор в .htaccess, то всё работает корректно. В случае вставки указанного кода ситуация подобная тому, что было, только ошибки другие: Warning: Wrong parameter count for defined() in /home/webadmin/uzelock.ru/html/_Kernel/php/Librarian.phl on line 2 Начало кода в Librarian.phl выглядит так: Code (php): | скопировать код в буфер обмена | <? phpinfo (www.php.net/phpinfo)(); exit (www.php.net/exit)(); if(!defined (www.php.net/defined)("LIBRARIAN_LOADED")) { define (www.php.net/define)("LIBRARIAN_LOADED",1); |
|
|
Back to top |
|
 |
Caps
Заглянувший
Joined: 01 Jul 2005
Posts: 13
Карма: 0 поощрить/наказать
|
Posted: Tue Aug 22, 2006 11:01 pm (спустя 3 часа 8 минут; написано за 2 минуты 15 секунд)
Post subject:
|
|
Но самое смешное не это! Я закоментировал строчки с define Code (php): | скопировать код в буфер обмена | //define("LIBRARIAN_LOADED",1); // //define("LibExt","phl"); .........................
$INC[]="."; $INC[]="./lib"; $INC[]=getcwd (www.php.net/getcwd)()."/../lib"; ......................... | в Librarian.phl и получил следующее: Fatal error: Unknown function: INC() in /home/webadmin/uzelock.ru/html/_Kernel/php/Librarian.phl on line 2 Нет слов!
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Wed Aug 23, 2006 9:47 am (спустя 10 часов 46 минут; написано за 2 минуты 41 секунду)
Post subject:
|
|
Caps
вариантов три: 1) глючный в хлам PHP 2) какой-то скрипт дополнительно обрабатывает скрипты перед исполнением и деалет с ними что-то невообразимое 3) скрипты отдаются на обработку не PHP, а какому-то другому интерпретатору Первый вариант - самый вероятный (скажем, подключиликакой-то оптимайзер на хостинге, а он глючит)
|
|
Back to top |
|
 |
|