Есть сайт на CMS Textpattern.
После перехода на новый хостинг, где оказался PHP 5.3.2, в apache error_log стали появляться ошибки:
PHP Deprecated: Function split() is deprecated in /home/public_html/textpattern/lib/txplib_misc.php(653) : eval()'d code on line 238
PHP Deprecated: Function split() is deprecated in /home/public_html/textpattern /lib/txplib_misc.php(653) : eval()'d code on line 243
Обновил CMS до последней версии, посмотрел файл txplib_misc.php, функции split() там нет вообще.
Каково же было моё удивление, когда в файле ошибок обнаружил те же сообщения, что и раньше.
Обновление проводил месяц назад, но ошибки продолжают сыпаться.
Ума не приложу, в чём может быть дело.
Спустя 19 минут, 10 секунд (18.10.2011 - 12:09) imbalance_hero написал(а):
vovabulkin
А может в их тех.поддержку написать эфективнее было бы? Или ты думаешь, что тут всякие Васи Пупкины будут разбирать движек и переписывать его?
А может в их тех.поддержку написать эфективнее было бы? Или ты думаешь, что тут всякие Васи Пупкины будут разбирать движек и переписывать его?
Спустя 19 минут, 19 секунд (18.10.2011 - 12:28) vovabulkin написал(а):
Причём тут движок?
Есть PHP-скрипт, есть ошибка в логах, которая ссылается на несуществующую в этом скрипте функцию.
У меня еще десяток сайтов на этой же версии CMS и никаких ошибок нет.
Есть PHP-скрипт, есть ошибка в логах, которая ссылается на несуществующую в этом скрипте функцию.
У меня еще десяток сайтов на этой же версии CMS и никаких ошибок нет.
Спустя 1 минута, 35 секунд (18.10.2011 - 12:30) Winston написал(а):
split - устаревшая ф-я, и она намечена на удаление в следующих версиях PHP.
Вместо нее используйте preg_split.
Вместо нее используйте preg_split.
Спустя 6 минут, 4 секунды (18.10.2011 - 12:36) vovabulkin написал(а):
Цитата (Winston @ 18.10.2011 - 09:30) |
split - устаревшая ф-я, и она намечена на удаление в следующих версиях PHP. |
Я знаю это и именно поэтому обновил версию скрипта. Функции split() нет в файле вообще. Это написано в моём вопросе.
Спустя 4 минуты, 35 секунд (18.10.2011 - 12:41) Winston написал(а):
Цитата (vovabulkin @ 18.10.2011 - 12:36) |
Я знаю это и именно поэтому обновил версию скрипта. Функции split() нет в файле вообще. Это написано в моём вопросе. |
А ты посмотри в файле
textpattern/lib/txplib_misc.php
На 238 строке
Спустя 5 минут, 56 секунд (18.10.2011 - 12:46) vovabulkin написал(а):
Смотрел неоднократно. Во всём файле функции split() нет.
Спустя 3 минуты (18.10.2011 - 12:49) Winston написал(а):
Цитата (vovabulkin @ 18.10.2011 - 12:46) |
Смотрел неоднократно. Во всём файле функции split() нет |
Быть такого не может
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
Можно применить поиск строки "split" по всем файлам если у тебя есть такая возможность. У тебя на локалке нет копии сайта ?
Спустя 2 минуты, 30 секунд (18.10.2011 - 12:52) Guest написал(а):
А eval() там есть? Которая код выполняет?
Спустя 17 минут, 12 секунд (18.10.2011 - 13:09) vovabulkin написал(а):
Цитата (Guest @ 18.10.2011 - 09:52) |
Быть такого не может ![]() |
Я сам в шоке!
Цитата (Guest @ 18.10.2011 - 09:52) |
Можно применить поиск строки "split" по всем файлам если у тебя есть такая возможность. У тебя на локалке нет копии сайта ? |
В файлах встречается только preg_split() и в одном месте chunk_split()
Цитата (Guest @ 18.10.2011 - 09:52) |
А eval() там есть? Которая код выполняет? |
eval() есть в двух местах, но в других строках.
Спустя 3 минуты, 47 секунд (18.10.2011 - 13:13) Winston написал(а):
Цитата (vovabulkin @ 18.10.2011 - 13:09) |
eval() есть в двух местах, но в других строках. |
А в аргументе ф-ии eval не передается split ?
Спустя 48 минут, 33 секунды (18.10.2011 - 14:02) vovabulkin написал(а):
Проблема заключалась в следующем:
Функция eval() выполняла код, который вызывался из базы. Именно поэтому я не мог его обнаружить в файловой системе.
Спасибо Guest.
Спасибо Winston.
Тему можно закрывать.
Функция eval() выполняла код, который вызывался из базы. Именно поэтому я не мог его обнаружить в файловой системе.
Спасибо Guest.
Спасибо Winston.
Тему можно закрывать.
Спустя 1 час, 38 минут, 30 секунд (18.10.2011 - 15:40) imbalance_hero написал(а):
vovabulkin
Код находился в БД, его туда поместил либо ты своими руками, либо создатели движка.
Конечно, диалог вышел таким:
У каждого адекватного движка есть форум, в этом форуме разбирают напутствующие проблемы этого движка.
http://forum.textpattern.com/viewtopic.php?pid=236046
Где говорится, что надо не только версию движка обновить, но и отдельно версию плагина данного :)
Код находился в БД, его туда поместил либо ты своими руками, либо создатели движка.
Конечно, диалог вышел таким:
- там нет такого!
- а ты внимательнее посмотри...
- смотрел, нет такого!
- а ты поищи данные по строке ошибки...
- смотрел, нет такого!
- А ты уверен, что не передаются аргументы?
- Точно, проблема решена, нашел!
У каждого адекватного движка есть форум, в этом форуме разбирают напутствующие проблемы этого движка.
http://forum.textpattern.com/viewtopic.php?pid=236046
Где говорится, что надо не только версию движка обновить, но и отдельно версию плагина данного :)
Спустя 30 минут, 2 секунды (18.10.2011 - 16:10) vovabulkin написал(а):
Цитата (imbalance_hero @ 18.10.2011 - 12:40) |
А ты уверен, что не передаются аргументы? - Точно, проблема решена, нашел! |
Аргументы передаются в другом конце скрипта через переменную, которая никоим образом не связана с сообщением об ошибке.
Цитата (imbalance_hero @ 18.10.2011 - 12:40) |
У каждого адекватного движка есть форум, в этом форуме разбирают напутствующие проблемы этого движка. |
Я искал. Долго. Но "напутствующей проблемы", похожей на мою не нашёл.
Цитата (imbalance_hero @ 18.10.2011 - 12:40) |
Где говорится, что надо не только версию движка обновить, но и отдельно версию плагина данного ![]() |
Далеко не каждая версия новая движка популярного этого сопровождается обновлением плагинов всех.
Цитата (imbalance_hero @ 18.10.2011 - 12:40) |
Код находился в БД, его туда поместил либо ты своими руками, либо создатели движка |
Естественно. И это мой косяк. И люди мне помогли. А вы их Пупкиными называете. Сами же, начиная с первого своего сообщения, ничего полезного не написали.
Спустя 15 минут, 52 секунды (18.10.2011 - 16:26) imbalance_hero написал(а):
Написать на форуме данного движка... вау, ничего полезного ![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Тут люди даже в глаза этот движек не видели, а там - всё такие как ты...
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Тут люди даже в глаза этот движек не видели, а там - всё такие как ты...
Спустя 4 минуты, 34 секунды (18.10.2011 - 16:30) vovabulkin написал(а):
Ошибка и её решение, данное специалистом никакого отношения к движку не имеют. Даже если бы я вообще не упомянул движок, знаток, коим я не являюсь, дал бы такую же подсказку.
Спустя 3 минуты, 21 секунда (18.10.2011 - 16:34) imbalance_hero написал(а):
Подсказка была вот в этой фразе:
Можно было бы банально её загнать в гугл и получить людей с походими проблемами.
И ещё, проблему плагина и необходимость его ПРОСТО обновить я как раз вычитал на офф.сайте, куда ты банально даже не заглянул...
PHP Deprecated: Function split() is deprecated in /home/public_html/textpattern/lib/txplib_misc.php(653) : eval()'d code on line 238
Можно было бы банально её загнать в гугл и получить людей с походими проблемами.
И ещё, проблему плагина и необходимость его ПРОСТО обновить я как раз вычитал на офф.сайте, куда ты банально даже не заглянул...
Спустя 13 минут, 30 секунд (18.10.2011 - 16:47) vovabulkin написал(а):
Эту строку я многократно наблюдал у себя в логах.
Подсказкой было бы: "Смотри что делает у тебя eval в строке 653!"
В любом случае спасибо, что моя проблема решена.
Извините, что зарегался на вашем дружелюбном форуме.
Подсказкой было бы: "Смотри что делает у тебя eval в строке 653!"
В любом случае спасибо, что моя проблема решена.
Извините, что зарегался на вашем дружелюбном форуме.