С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14

Fatal Error: call to undefined function function_name

20.06.2013, 09:20. Показов 3950. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
навеяло отсюда Вызвать функцию из другого сприпта.

У меня не работает(
На локальном сервере всё отлично подключалось и функции вызывались. Теперь на хостинг залил и кидает такую ошибку:
"Fatal error: Call to undefined function function_name() in index.html on line NN"
Как с этим бороться?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2013, 09:20
Ответы с готовыми решениями:

Fatal Error: Call to undefined function ...
подскажите в чем ошибка? <? if(!$_GET){ $k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `icq_all`"), 0); $k_page =...

Fatal error Call to undefined function
<?php $im = imagegrabscreen(); imagepng($im, "myscreenshot.png"); imagedestroy($im); ?>надо сделать скрин помогите! выводит fatal...

Fatal error: Call to undefined function
вот только что перенес сайт с linux на виндовс.... ну вроде настроил все: 1)сделал поправку в php.ini: auto_prepend_file =...

18
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 09:32
Цитата Сообщение от mrOrlandoMax Посмотреть сообщение
Как с этим бороться?
Вызов неопределенной tep_db_query
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 10:06  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Что-то из этого
1. описать функцию
2. подключить файл с декларацией функции
3. убрать вызов функции
1. Функция описана и нахотидся в подкаталоге относительно файла вызова функции
н-р функцию вызывает файл index.php
а путь к файлу: catalog/file.php относительно index.php
2. В файле index.php подгружен файл, где находится функция таким образом:
inlude 'catalog/file.php'; (include возвращает 1 значит файл удалось подключить)
3. Убирать вызов функции крайне не хотелось бы, на этом построена вся логика, к этой функции обращаются и
другие файлы, и, по аналогии, другии файлы обращаются подобным образов к другим функциям.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 10:14
Цитата Сообщение от mrOrlandoMax Посмотреть сообщение
Функция описана и нахотидся в подкаталоге относительно файла вызова функции
и что, называется "function_name" ?
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 10:18  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
и что, называется "function_name" ?
Это для примера такое название (на самом деле get_albums), вообще эта функция возвращает в ассоциативном массиве данные с двух таблиц

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function get_albums(){
    $albums = array();
    $code = func_get_args();
    if ($code[0] == "utf8") mysql_query("SET NAMES 'utf8'"); //вывод в нужной кодировке в зависимости фактических параметров
    $albums_query = mysql_query("
    SELECT `albums`.`album_id`, `albums`.`timestamp`, `albums`.`name`, COUNT(`images`.`image_id`) as `image_count`
    FROM `albums`
    LEFT JOIN `images`
    ON `albums`.`album_id` = `images`.`album_id`
    GROUP BY `albums`.`album_id`
    ");
    while ($albums_row = mysql_fetch_assoc($albums_query)){
        $albums[] = array(
                'id' => $albums_row['album_id'],
                'timestamp' => $albums_row['timestamp'],
                'name' => $albums_row['name'],
                'count' => $albums_row['image_count']
        );
    }
    return $albums;
}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 10:29
ну значит либо не подключается файл, либо подключается позже, либо неверное имя в вызове/описании (к примеру, в названии функции затесалась русская буква)
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 10:40  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну значит либо не подключается файл, либо подключается позже, либо неверное имя в вызове/описании (к примеру, в названии функции затесалась русская буква)
на http://php.net/manual/ru/function.include.php указано, что если include возвращает 1 значит файл подключен. У меня include возвращает 1.
файл подключается раньше на несколько строчек:

PHP
1
2
3
4
5
<?php
include 'init.php';
//html код
$albums = get_albums("utf8");
?>
в файле init.php осуществляется подключение к БД и подключаются все остальные необходимые файлы, в том числе файл в котором находится функция
get_albums()

нет, русских букв там нет. На локальном сервере всё работало как надо, а вот как залил на хостинг - не видит функцию.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 10:51
значит что-то не так с именем функции. По поводу include - если бы файл не подключился из-за проблемы с путями/правами, то и ошибка была бы другой..
PHP
1
2
$functions = get_defined_functions();
echo '<pre>'; var_dump($functions['user']); echo '</pre>';
Добавлено через 5 минут
даже еще лучше так
PHP
1
2
$functions = get_defined_functions();
var_dump( in_array('get_albums', $functions['user']) );
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 11:01  [ТС]
Добавлено через 5 минут
PHP
1
2
$functions = get_defined_functions();
var_dump( in_array('get_albums', $functions['user']) );
[/QUOTE]
В массиве пользовательских функций всего 6 элементов оказалась. И нужных функций там не было (я и встроенные функции internal заодно проверил, там тоже ничего), in_array соответственно вернул false. Функции с индексами 3,4,5 точно описывал я, а вот первые 3... таких я точно не писал, откуда они могут появиться?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool(false) 1
 
array(6) {
  [0]=>
  string(15) "phpmm_integrity"
  [1]=>
  string(11) "_good_agent"
  [2]=>
  string(14) "acl_get_limits"
  [3]=>
  string(11) "file_search"
  [4]=>
  string(9) "logged_in"
  [5]=>
  string(12) "create_thumb"
}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 11:12
у вас хостингер что-ли? В общем, это функции, описанные хостингом..
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 11:20  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
у вас хостингер что-ли? В общем, это функции, описанные хостингом..
Да хостингер, теперь понятно откуда. Но почему же одни функции подгружаются нормально, а другие нет, хотя способ совершенно одинаков. Написал им в техподдержку, ответили только, что возможно ошибка при подключении в базе, смешно даже. Пока ответов не было. Может другой хостинг попробывать?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 11:47
не знаю, у меня проблем с подключением на нем не возникало
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 13:02  [ТС]
Может быть такое, что установлено ограничение на использование функций или что-то в этом роде?
Нашёл код функций, которые добавляет хостингер, там выставляются какие-то ограничения, но сразу всё так не понять: http://x01.cc/126361/

Добавлено через 1 час 5 минут
Единственное отличие было в файлах, где функции не загрузились так это то что выдавало ошибку
Parse error: syntax error, unexpected T_STRING in album.func.php on line 1
потом я поставил комментарии в самом начале php кода:
PHP
1
2
3
4
5
<?php//comment
/*
мои функции
*/
?>
и этой ошибки не было, но и файлы не загружаются. А вот в файлах где не было ошибки (syntax error, unexpected T_STRING) они и подгрузились в массив пользовательских функций.
Что эта за ошибка "Parse error: syntax error, unexpected T_STRING in album.func.php on line 1", может быть ещё есть какие-то способы её решения?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 21:32
пробел после <?php
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 21:49  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
пробел после <?php
про пробелы я читал, но у меня отображаются пробелы и табуляция в текстовом редакторе, если бы там был пробел я бы его заметил.
Тем временем пришёл ответ техподдержки хостингера:
У Вас многократное превышение лимитов, установленных на бесплатном хостинговом плане.
Обнулил их вручную.

Подобная ситуация возникает тогда, когда Ваш сайт использует слишком много ресурсов процессора, а именно более 10% на протяжении 1 минуты. Для того, чтобы её избежать, Вам необходимо оптимизировать Ваш сайт, отключить неиспользуемые плагины/модули, уменьшить количество ajax-запросов (если они используются на сайте), отключить статистики, которые часто обновляют информацию на сервере. В противном случае Вам нужно будет ждать конца дня, чтобы Ваш сайт начал работать нормально как и прежде.
После этого оставил один файл и две функции, самые простые, которые выводят записи с одной таблицы и всё. Всё равно Fatal error: Call to undefined function
И в пользовательские функции предпалагаемые две функции не добавились:
PHP
1
2
3
4
5
6
7
8
bool(false)
 
Array
(
    [0] => phpmm_integrity
    [1] => _good_agent
    [2] => acl_get_limits
)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 22:13
мде..

Цитата Сообщение от mrOrlandoMax Посмотреть сообщение
PHP
1
<?php//comment
PHP
1
<?php //comment
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 22:39  [ТС]
Что так
PHP
1
<?php//comment
что так
PHP
1
<?php //comment
обишка, связанная с пробелом пропадает, но предательски не хотят подгружать функции (
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.06.2013, 22:42
это был ответ на ошибку синтаксиса. По поводу ошибки с функцией - я без понятия, в чем может быть дело. Все возможные случаи я уже говорил, ни разу не встречал иных ситуаций.

Добавлено через 53 секунды
опишите в этом подключаемом файле еще одну другую простенькую функцию для проверки и попробуйте аналогично вызвать ее.
0
 Аватар для mrOrlandoMax
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 14
20.06.2013, 23:05  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
это был ответ на ошибку синтаксиса. По поводу ошибки с функцией - я без понятия, в чем может быть дело. Все возможные случаи я уже говорил, ни разу не встречал иных ситуаций.

Добавлено через 53 секунды
опишите в этом подключаемом файле еще одну другую простенькую функцию для проверки и попробуйте аналогично вызвать ее.
Попробовал создал функцию, которая просто выводит строку через echo, тоже не видит функцию. Вынес в отдельный файл - не видит. Придётся поступать очень по-корявому: в файлы, которые нуждаются в определённых функциях копировать сами функции, тогда функции видно и они работают.

KOPOJI, спасибо большое за помощь, помучали нас эти функции.
Если узнаю в чём была проблема отпишусь в этой теме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2013, 23:05
Помогаю со студенческими работами здесь

Ошибка - Fatal error: Call to undefined function NOW()
Иннициализация: $d = NOW(); Результат: В чем может быть проблема? Это же не пользовательская ф-ция

Fatal error: Call to undefined function ftok()
Добрый день! Выполняю следующий код function getSHMParas(){ $shm_key = ftok(__FILE__, 'm'); $theSHM = new SimpleSHM($shm_key); ...

Fatal error: Call to undefined function: mssql_connect()
есть такой пакет для отладки денвер внем есть пхп mysql и т.п ново решил написат функцию для работы сбазой а мне Fatal error: Call to...

Fatal error: Call to undefined function get_currentuserinfo()
Всем привет ! Хочу узнать логин пользователя. &lt;?php include 'core.php'; ShowHeaders(); global $user_id; global $userdata; ...

PHP Fatal error: Uncaught Error: Call to undefined function curl_init()
Всем привет! Знаю, проблема обсосана со всех сторон. Получаю вот это: PHP Fatal error: Uncaught Error: Call to undefined...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru