Перейти к содержимому


Фотография

[PHP 5] Директивы php для нормальной работы с ipb 1.3

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 24
Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

Illegal string offset лечится совершенно другими способами - указанные выше недопустимы
Необходимо дописывать проверку существования переменной и ее определение в каждом конкретном случае
Например не
if ( ! $ibforums->topic_cache['tid'] )
а
if ( !is_array($ibforums->topic_cache) or !array_key_exists('tid',$ibforums->topic_cache) )
и это наверняка не все, например при наличии ключа и значении 0 тоже должен срабатывать этот иф, так что код должен не уменьшиться, а разростись

dimitry
  • Участники
  • Cообщений: 204

Отправлено

Illegal string offset лечится совершенно другими способами - указанные выше недопустимы

Хорошо, что бы вы предложили бы сделать в вышеуказанных случаях в вышеуказанных файлах с проблемой с Illegal string offset

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

в каждом конкретном случае для начала необходимо сделать принт интересующих переменных, а также желательно бектрейс, узнать, почему их там нет, ну и дописать перед указанными условиями обработчики случаев отсутствия, чтобы не вызывать код с отсутствующими переменными, как это есть сейчас
еще раз повторяю - в каждом конкретном случае решение будет свое, и вырабатываться должно на месте, у меня нет 1.3 и способа это проверить и мне лень его устанавливать

FatCat
  • Клиенты
  • Cообщений: 3 351
  • http://pharm-forum.ru
  • Город:נצרת עילית

Отправлено

index.php
После строки

$ibforums->input = $std->parse_incoming();

добавить:

$inputz = array(
'act',
'showuser',
'download',
'dlcategory',
'sender',
'st',
'Privacy',
'f',
'p',
'showforum',
'showtopic',
't',
'CODE',
'last_activity',
'last_visit',
'setskin',
);
foreach($inputz as $z)if(!isset($ibforums->input[$z]))$ibforums->input[$z] = "";


Scully
  • Участники
  • Cообщений: 40
  • http://www.diving-club.com
  • Интересы:Скуба дайвинг.

Отправлено

Здравствуйте, господа!

После переезда на новый хостинг открывается только первая страница форума (1.3.1), дальнейшее продвижение вызывает ошибку 500.

В логах есть вот такая строка Invalid command '$INFO['base_dir']', perhaps misspelled or defined by a module not included in the server configuration

На сервере версия php 5.2.17 Подскажите, пожалуйста, как это решить.

Можно установить и другие версии, только не думаю, что это актуально.

5.3.29 (alt),   5.4.16 (native), 5.4.45 (alt), 5.5.38 (alt), 5.6.36 (alt), 7.0.30 (alt), 7.1.19 (alt), 7.2.7 (alt)


Хм, в .htaccess была строка $INFO['base_dir'] = '/www/diving-club.com/forum/';

Удалил, ошибки 500 больше нет, но навигация по форуму не работает.

Возвращает на главную страницу форума.

 

Проблема решилась добавлением в файл .htaccess:

php_flag register_long_arrays on
 


Сообщение отредактировал Scully: 16 Июль 2018 - 22:14





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных