ОсновноеRadiotalkПользовательское
Webserv24 - Панель управления хостингом
11   •   Посмотреть все темы

Проблемы с сайтом на версии php5.3

 

11
ka1ex @ka1ex
Доброго дня. Возникла проблема, появляется ошибка на страницах сайта с тегами. Ошибки на локальном сервере нет (Open Server с версией PHP 5.2.17).
Ошибка: Warning: explode() expects parameter 2 to be string, array given in /сайт/code/functions.php on line 139
часть кода functions.php (139 строчку выделил жирным):
Эта информация скрыта и доступна только зарегистрированным пользователям.

Не могу понять, что в коде нужно исправить. Использую cms на файлах, без плагинов.

20090
Dimitry @Dimitry
$data переменная дата пустая, почему, надо искать в другом месте...
возможно нужно активировать register globals

11
ka1ex @ka1ex
Пробовал активировать и отключать register_globals- безрезультатно. Дело то в том, что на другом хостинге с php 5.2 все работает замечательно, и на Webhost1.ru все замечательно работало до перехода на php 5.3. Переменная $data не пустая, просто не стал скидывать весь код.

20090
Dimitry @Dimitry
Тут не нужно быть гением чтоб понять в чём ошибка.

Ошибка: Warning: explode() expects parameter 2 to be string, array given in /сайт/code/functions.php on line 139

второй параметр, а это у нас $data, должен быть строкой, а передаётся массив...
почему массив передаётся?)

11
ka1ex @ka1ex
Я к сожалению не программист, и не могу Вам сказать почему массив. Пробовал заключить в кавычки '$data' -пропал контент.
Если не сложно посмотрите, вот весь файл functions.php
Эта информация скрыта и доступна только зарегистрированным пользователям.

20090
Dimitry @Dimitry
Всё равно не понятно.
Могу предложить скрыть ошибку, если это не повлияет на функции, так то ничего серьёзного в этом нет.
Ошибка скрыватеся добавлением синего

$text = @explode('<!-- Kan_'.trim($findwhat).' -->',$data);

11
ka1ex @ka1ex
Спасибо, добавил @, вроде все работает без проблем. Если какие-нибудь проблемы возникнут, буду писать тикет, чтобы перенести хостинг на php 5.2.

6600
Александр @admiral
Может это поможет исправить, а не скрывать:
$text = explode('<!-- Kan_'.trim($findwhat).' -->', implode($data));

ka1ex, вообще большинство ошибок при переходе с php5.2 на php5.3 исправляются, так что переходить обратно на старые версии php считаю последним делом, лучше раз исправить если есть возможность )

11
ka1ex @ka1ex
admiral, не помогло. Выводит несколько ошибок.
Эта информация скрыта и доступна только зарегистрированным пользователям.

Согласен с Вами, что это последее дело.

7094
Dim @Render
ka1ex пишет:

admiral, не помогло. Выводит несколько ошибок.
Эта информация скрыта и доступна только зарегистрированным пользователям.

Согласен с Вами, что это последее дело.

Хорошо бы было увидеть, что за массив приходит вообще в $data, отловив его print_r($data);

11
ka1ex @ka1ex
Render, Я понимаю, что загвоздка в какой-либо мелочи, но как писал выше я не программист. Пробовал через нотепад++ найти в коде всего скрипта- $data.
Вот что получил, если интересно что за скрипт cms, посмотреть можно тут.
Эта информация скрыта и доступна только зарегистрированным пользователям.

Эта информация скрыта и доступна только зарегистрированным пользователям.

20090
Dimitry @Dimitry
print_r($data);
$text = explode('<!-- Kan_'.trim($findwhat).' -->',$data);

11
ka1ex @ka1ex
Dimitry, к сожалению так слетает сайт, контент самопроизвольно раскидан.

20090
Dimitry @Dimitry
Да, но должен быть вывод информации, можно ссылку и посмотреть на это?

11
ka1ex @ka1ex
Dimitry, написал Вам в ЛС.
Эта информация скрыта и доступна только зарегистрированным пользователям.

20090
Dimitry @Dimitry
Вот он неверный массив, осталось узнать откуда такая информация лезет

Array
(
[0] => нефть
[1] => Техническая литература по добыче, разработке, бурение нефтяных и газовых скважин
[2] => main
[3] =>

)

А лезет он из какого то файла в котором используется функция articlesparam
Тут либо дальше заморачиваться и выискивать, либо поставить @ и забыть, если что-то будет не так то тогда уже копать)

11
ka1ex @ka1ex
Через тот же нотепад нашел, если это то что нужно, то как можно исправить?
Эта информация скрыта и доступна только зарегистрированным пользователям.


Функция articlesparam используется в трех файлах.

Отредактировано ka1ex - 19.02.2013
20090
Dimitry @Dimitry
Яваскрипт не причём, нужно копать эти 3 файла.

11
ka1ex @ka1ex
Dimitry, спасибо за наводку, буду копать, экспериментировать.