Ошибка in_array() expects parameter 2 to be array?

SPoX

Знаток
Регистрация
19 Апр 2014
Сообщения
187
Реакции
28
здравствуйте ребята
на днях я обнаружил в файле error_log ети ошибкы

[18-Apr-2016 20:32:02 Asia] PHP Warning: in_array() expects parameter 2 to be array, null given in /home/mysiteru/public_html/mysite.com/modules/acategories.php on line 11
[18-Apr-2016 20:32:02 Asia] PHP Warning: in_array() expects parameter 2 to be array, null given in /home/mysiteru/public_html/mysite.com/modules/areasearch.php on line 11
[18-Apr-2016 20:32:02 Asia] PHP Warning: in_array() expects parameter 2 to be array, null given in /home/mysiteru/public_html/mysite.com/modules/banners_location.php on line 11

на линии 11 у меня следующий код
Код:
if(!in_array("acategories", $modules_array)) return;


в целом выглядит так
Код:
<?php
global $modules_array;
if(!in_array("acategories", $modules_array)) return;

global $config_abs_path;
require_once $config_abs_path."/modules/acategories/classes/acategories.php";

как исправить?
 
так попробуйте:
PHP:
<?php
global $modules_array;
if(!is_array($modules_array) || !in_array("acategories", $modules_array)) return;

global $config_abs_path;
require_once $config_abs_path."/modules/acategories/classes/acategories.php";
 
  • Нравится
Реакции: SPoX
у меня еше есть одна ошибка

[18-Apr-2016 20:32:02 Asia] PHP Warning: require_once(/home/mysiteru/public_html/mysite.com/lang/.php:( failed to open stream: No such file or directory in /home/mysiteru/public_html/mysite.com/include/include.php on line 100
[18-Apr-2016 20:32:06 Asia] PHP Fatal error: require_once:)( Failed opening required '/home/mysiteru/public_html/mysite.com/lang/.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mysiteru/public_html/mysite.com/include/include.php on line 100

в файле include.php на линии 100 такой код
Код:
// include language file
require_once($lang);
 
проверить что там у вас в переменной $lang можно так:
PHP:
var_dump($lang);
// include language file
require_once($lang);
судя по всему у вас $lang = '.php'
ищите причину почему префикс языка не присвоился
 
проверить что там у вас в переменной $lang можно так:
PHP:
var_dump($lang);
// include language file
require_once($lang);
судя по всему у вас $lang = '.php'
ищите причину почему префикс языка не присвоился
Ну и для чего в массив var_dump записовать ? хм и как это ему воопще поможет ?
 
записЫвать
вооБще

и что значит в целом?
Ну и для чего в массив var_dump записовать
причем здесь какие-то массивы?
$lang - переменная
var_dump - функция

поможет тем, что научит контролировать свой код и знать что происходит
 
проверить что там у вас в переменной $lang можно так:
PHP:
var_dump($lang);
// include language file
require_once($lang);
судя по всему у вас $lang = '.php'
ищите причину почему префикс языка не присвоился
поставил и получил ошибку

string(51) "/home/mysite/public_html/mysite.com/lang/russian.php"
Warning: session_start:)( Cannot send session cookie - headers already sent by (output started at /home/mysite/public_html/mysite.com/include/include.php:99) in/home/mysite/public_html/mysite.com/include/form.php on line 19

Warning: session_start:)( Cannot send session cache limiter - headers already sent (output started at /home/mysite/public_html/mysite.com/include/include.php:99) in/home/mysite/public_html/mysite.com/include/form.php on line 19

на 99 линии ваш код


а на 19 линии этот код
Код:
require_once($config_abs_path.'/include/tables.php');
 
если var_dump выдает
/home/mysite/public_html/mysite.com/lang/russian.php
тогда почему у вас первоначально ошибка выглядела так:
PHP Warning: require_once(/home/mysiteru/public_html/mysite.com/lang/.php
либо вы нас тут вводите в заблуждение и пробуете какие-то альтернативные варианты решения проблемы, которые помогли вам вернуть правильный путь /home/mysite/public_html/mysite.com/lang/russian.php
либо я незнаю в чем дело.
удалите var_dump и пробуйте запускать скрипт
 
Назад
Сверху