@viktorross

Фатальная ошибка php, почему?

Здравствуйте, подскажите пожалуйста в чем может быть проблема

Проверяю на денвере, все работает, открываю на сервере - фатальная ошибка

mod_fcgid: stderr: PHP Fatal error: require_once() [function.require]: Failed opening required '/classes/credits.php' (include_path='.:/opt/php53/share/pear:/opt/php53/share/php/php') in /var/www/site/data/www/site.ru/include/util.php on line 277

добавляю код в файл util.php
// credits
global $config_vars;
if($config_vars['credits_enabled']) {
	require_once "/classes/credits.php";
	$cr = new credits();
	$credits_settings = $cr->getSettings();

	$allowed = 1;
	$allowed = credits::creditsAllowed($credits_settings);

	if($allowed) {

		$smarty->assign("credits_allowed", $allowed);
		$smarty->assign("credits_settings", $credits_settings);
		require_once "/classes/users.php";
		$no_credits = users::getNoCredits($crt_usr);
		$smarty->assign("no_credits", $no_credits);
		$credits_amount=0;
		if($no_credits) $credits_amount = add_currency(format_price($no_credits*$credits_settings['unit']));
		$smarty->assign("credits_amount", $credits_amount);

	}
}


вывожу в шаблон

<a class="sdfdseews_Df" href="https://site.ru/buy_credits.php">{if $credits_allowed}{$credits_amount}{/if}</a>

Что тут не так?

почему на денвере нет ошибки и все работает, а на сервере фатальная ошибка?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
Потому что этот ваш денвер устарел полвека назад

А так он не может открыть credits.php
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
путь к файлу должен быть указан от корня фс, либо папка из которой вы подключаете файл должна быть прописана в include_path, чего, как мы видим, сделано не было.

почему на денвере нет ошибки и все работает, а на сервере фатальная ошибка?
по тому что
а) В денвере при установке путь прописывается в конфиг
б) Окружение на дев машине должно быть максимально близким к продакшену, особенно это касается не очень опытных разработчиков, ибо так быстрее всего вылазят ошибки на дев окружении, не успевая мигрировать на прод, как в вашем случае.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы