Forum Webscript.Ru
Наши скрипты => MobilePublisherPHP => Тема начата: ASM7 от 22 Октября 2002, 07:08:01
-
Автору: подскажи, пожалуйста, в чем дело?
После любого редактирования шаблона header (даже если его сохранить, ничего не меняя) все перестает работать. При вызове любой страницы выдается такое сообщение:
Parse error: parse error in /usr/home/www/mp/index.php(8) : eval()\'d code on line 10
Warning: Cannot add header information - headers already sent by (output started at /usr/home/www/mp/index.php(8) : eval()\'d code:10) in /usr/home/www/mp/functions.php on line 12
и дальше кракозябры (видимо, результат работы gzip)
М.б. Автор или еще кто-то компетентный подскажет, из-за чего это? Что можно поправить в php.ini?
Если ничего не трогать (не сохранять шаблон header), все работает нормально.
OS: FreeBSD 4.7, Apache 1.3.27/mod PHP 4.2.3
PS: Большое спасибо Авторам за Mobile Publisher!
-
http://www.forums.webscript.ru/showthread.php?s=&threadid=8742&msgnum=5
читай тут
-
таже байда на удаленном сервере провайдера.
Что сказать (написАть) провайдеру.
Где собака зарылась?
-
Прочитал. Ответа так и не увидел :(
Понятно, что в чем-то косяк, только вот в чем?
-
http://www.alt-php-faq.org/local/104 (http://www.alt-php-faq.org/local/104) - тут описание ошибки. Получается, что при редактировании шаблона добавляются какие-то левые символы?
-
Получается, что перед началом загрузки странички отправляется какая-то информация и естественно формируется header. А вот что отправляется, это уже другой вопрос.
-
да это понятно, но я дебаггером дошел до того самого eval и ничего подозрительного не заметил - вроде все правильно отрабатывает. Надо будет посимвольно сравнить строки, которые ему подставляются до/после реадктирования шаблона. Parse error вылазит именно тогда, когда eval отрабатывает
-
Все дело в настройках веб-сервера, вот где нужно копать.
-
настройки - дефолтные от апача 1.3.27 на FreeBSD. Все же не думаю, что дело в сервере. Смотри, до первого редактирования шаблона все работает нормально -> считывается по запросу из БД и отображается затем все как надо. А потом, при редактировании, даже если ничего не менять, записывается в БД немного не то, что из нее считывалось - спецсимволы какие то добавляются или еще чтото. Т.е. нужно посмотреть, что может влиять на изменение шаблона при сохранении его в базу.
-
но я дебаггером дошел
Если не секрет каким и где его можно найти?
что может влиять на изменение шаблона при сохранении его в базу
На него ничто не влияет. Принцип работы такой, содержимое формы записывается в базу UPDATE $table_templates SET template=\'$templatenew\' WHERE id=\'$tid\' а дальше работает веб-сервер с базой и РНР. Если бы это был баг движка, то давно стало бы известно. Так что, смотрите сервер.
-
Если не секрет каким и где его можно найти?
Zend Studio + Zend Studio Server. Если нужны подробности - в мыло
Так что, смотрите сервер.
может, покажешь нам свой httpd.conf и php.ini? Не с рабочего сервера, а где ведется разработка.
-
http://bugs.php.net/bug.php?id=19404
может, это влияет? Говорят, именно в движке 4.2.3 многие скрипты перестали работать :(
-
Все, разобрался в чем дело. Если кому интересно, читайте.
Вся проблема была в настройках php.ini, а именно в установке переменной magiс_quotes_gpc. У меня она была установлена в Off. При такой установке, когда выполняется код
$db->query("UPDATE $table_templates SET template=\'$templatenew\' WHERE id=\'$tid\'");
(строка 29 файла admin/templates.php), хотя $templatenew был пропущен через addslashes(), в базу пишется код БЕЗ слэшей, уж не знаю почему, хотя в переменной слэши на момент выполнения запроса явно есть. Похоже, по какой-то причине, при интерпретации данной строки слэши убиваются.
После того, как установил magiс_quotes_gpc On, все заработало нормально.
AN, плиз проверь данное утверждение, и если это так, то впиши большими буквами в docs/install_ru.txt, чтобы magiс_quotes_gpc у себя в php.ini люди устанавливали On. :) Люди сберегут себе много нервов
-
ASM
Да, так и есть.
Большое спасибо за помощь.