Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Нештатная ситуация с php
Форумы портала PHP.SU » » HTTP и PHP » Нештатная ситуация с php

Страниц (1): [1]
 

1. Arni - 11 Августа, 2011 - 16:59:32 - перейти к сообщению
Сосбтвенно с таким столкнулся впервые, думаю может кто знает. На одном из хостингов отказался работать наш php скрипт.

Оказалос что ...

PHP:
скопировать код в буфер обмена
  1.  
  2. $page = new PageExpert($db);
  3.  
  4. if(!isset($_SESSION[EVENT]['mode'])){
  5.    
  6. }
  7.  


Выдает ошибку Cannot use object of type PageExpert as array in бла бла бла.

Тоисть php считает что $_SESSION[EVENT] тотожность $page ! Глобальные переменные выключил, отпустило в некоторых местах. но отпустило только для тех файлов которые в корне сайта. Тоисть наш чудо хостинг походу вырубил .htaccess для каталогов уровня выше, а на init_set(register_globals, false); ругается.
Call to undefined function init_set()

Выход из положения вроде нашёл. Но хотелось бы попробовать выяснить что это за муть полная.

На всякий случай ссылка на phpinfo().

http://rempark[dot]by/test.php
2. OrmaJever - 11 Августа, 2011 - 19:20:42 - перейти к сообщению
Arni пишет:
Cannot use object of type PageExpert as array

даже если закинуть в гугл транслейт то всё понятно переведёт:
Невозможно использовать объект типа PageExpert как массив
Arni пишет:
Call to undefined function init_set()

ini_set()
3. illy - 11 Августа, 2011 - 19:34:16 - перейти к сообщению
if(!isset($_SESSION[EVENT]['mode']))

тут разве не нужны кавычки? Не понял $_SESSION['EVENT']['mode']
4. DeepVarvar - 11 Августа, 2011 - 19:44:43 - перейти к сообщению
OrmaJever пишет:
Невозможно использовать объект типа PageExpert как массив

May be final class ArrayAccess not exists in php version < 5.1 ??? Закатив глазки
5. Arni - 12 Августа, 2011 - 12:34:56 - перейти к сообщению
OrmaJever пишет:
ini_set()

Call to undefined function init_set() - я же написал выше, хостер это вырубил тоже.

illy пишет:
тут разве не нужны кавычки? $_SESSION['EVENT']['mode']

Нет, потому что EVENT это константа.

DeepVarvar пишет:
May be final class ArrayAccess not exists in php version < 5.1 ???

Давал ссылку на пхпинфо, версия 5.2

Ладно спасибо всем, хостинг конечно просто "чудо" ...
6. OrmaJever - 12 Августа, 2011 - 13:57:33 - перейти к сообщению
Arni пишет:
Ладно спасибо всем, хостинг конечно просто "чудо" ...

несогласен, может стоит искать проблему в себе?
Arni пишет:
Call to undefined function init_set() - я же написал выше, хостер это вырубил тоже.

функции init_set() нигде нету, есть ini_set()
Arni пишет:
Выдает ошибку Cannot use object of type PageExpert as array in бла бла бла.

покажите строку "бла бла бла" в ней доступ к обьекту как к масиву, возможно через foreach
7. Arni - 12 Августа, 2011 - 14:17:45 - перейти к сообщению
OrmaJever, спасибо. Делал в спешке, с гугла прошел по ссылке

http://wmas[dot]msk[dot]ru/archives/glob[dot][dot][dot]-global-problems

И там почти в самом низу обратите внимание, отсюда и копирнул.



Все работает.
8. OrmaJever - 12 Августа, 2011 - 15:20:34 - перейти к сообщению
а как же быть со второй проблемой?
9. Arni - 12 Августа, 2011 - 15:49:03 - перейти к сообщению
OrmaJever пишет:
а как же быть со второй проблемой?


Все абсолютно решилось. Просто в режиме включенных глобальных переменных



Потому что значение константы EVENT = 'page';

Вот и все.
10. OrmaJever - 12 Августа, 2011 - 17:00:47 - перейти к сообщению
кстате покажите хостинг на котором register_globals = on
Мне кажется эта самая неудачная настройка в php.
11. Arni - 12 Августа, 2011 - 18:26:38 - перейти к сообщению
OrmaJever пишет:
кстате покажите хостинг на котором register_globals = on
Мне кажется эта самая неудачная настройка в php.


http://www[dot]majordomo[dot]ru/

Плохой хостинг во всех отношениях. Запись в файлы по умолчанию тоже разрешена, апаче старый, мускуль тоже странно себе ведет. Одним словом не понимаю я зачем такое делать вообще.

 

Powered by ExBB FM 1.0 RC1