I’ve been programming in PHP for several years now and never encountered this error before.
Here’s my widget.php file:
require_once('fruit.php');
echo "I am compiling just fine!!!";
And my fruit.php file:
$bVar = true;
When these two files look like this ^ then everything compiles with no errors and I get the «I am compiling just fine!!!» success message.
Now, the minute I move the fruit.php file one directory level up, and change my widget.php file to reflect the directory restructuring:
require_once('../fruit.php');
echo "I am compiling just fine!!!";
Now all the sudden, I get PHP warnings & fatal errors:
Warning: require_once(../fruit.php) [function.require-once]: failed to open stream: No such file or directory in /webroot/app/widget.php on line 1
Fatal error: require_once() [function.require]: Failed opening required '../fruit.php' (include_path='.:/usr/local/php5/lib/php') in /webroot/app/widget.php on line 1
In all my years working with PHP, I’ve never seen require_once() fail like this before. Any ideas?!?!
In this comprehensive guide, we will discuss how to solve the fatal error: require_once() failed opening required. This error is commonly encountered by PHP developers and can be frustrating to deal with. Following our step-by-step guide, you will be able to resolve this error quickly and efficiently.
Table of Contents
- Understanding the Error
- Common Causes of the Error
- Step-by-Step Solution
- FAQs
- Related Links
Understanding the Error
The require_once() function is used to include a PHP file in another PHP file. It ensures that the included file is only included once during the execution of the script. If the file cannot be found or opened, the require_once() function will trigger a fatal error and halt the execution of the script.
The error message might look something like this:
Fatal error: require_once(): Failed opening required 'path/to/your/file.php' (include_path='.:/usr/local/php/pear') in /home/user/public_html/index.php on line 10
In this guide, we will focus on resolving the «Failed opening required» part of the error message.
Back to top ↑
Common Causes of the Error
The «Failed opening required» error is usually caused by one of the following reasons:
- The file path specified in the
require_once()function is incorrect. - The file you are trying to include does not exist or has been deleted.
- The file permissions are incorrect, preventing the file from being accessed.
- The PHP
include_pathconfiguration is incorrect.
Back to top ↑
Step-by-Step Solution
Follow these steps to resolve the «Failed opening required» error:
Step 1: Verify the File Path
First, check if the file path specified in the require_once() function is correct. Ensure that you are using the right path, either absolute or relative, to the file you want to include.
For example, if your file structure looks like this:
- public_html/
- index.php
- includes/
- config.php
Your require_once() function in the index.php file should look like this:
require_once('includes/config.php');
Step 2: Check if the File Exists
Make sure the file you are trying to include actually exists. Double-check the file’s location and verify that it has not been accidentally deleted or moved.
Step 3: Verify File Permissions
Check the file permissions of the file you are trying to include. The file should have read access for the user running the PHP script. You can change the file permissions using an FTP client or a command-line interface.
For example, to set the correct file permissions using the command line, navigate to the directory containing the file and run the following command:
chmod 644 config.php
Step 4: Check PHP include_path
If you have checked the file path, verified that the file exists, and ensured that the file has the correct permissions, but you are still encountering the error, the issue might be with the PHP include_path configuration.
You can check the current include_path by creating a new PHP file with the following content:
<?php
phpinfo();
?>
Run the script and look for the include_path entry in the «PHP Core» section. If the include_path is incorrect, you can change it in your php.ini file or by using the set_include_path() function in your PHP script.
After following these steps, the «Failed opening required» error should be resolved.
Back to top ↑
FAQs
1. What is the difference between require_once() and include_once()?
The main difference between require_once() and include_once() is the behavior when the specified file cannot be found or opened. require_once() triggers a fatal error and halts the script execution, while include_once() triggers a warning and continues to execute the script.
2. When should I use require_once() instead of include() or require()?
You should use require_once() when you want to include a file that contains important functions or configurations that your script relies on, and you want to ensure that the file is only included once during the script execution.
3. Can I use a URL in the require_once() function?
No, you cannot use a URL in the require_once() function. It only works with local file paths.
4. What are the security risks of using require_once()?
The security risks of using require_once() are minimal if you use it to include your own files. However, if user input is used to determine the file to include, it can lead to a security vulnerability called «Local File Inclusion (LFI).» Always validate and sanitize user input before using it in your require_once() function.
5. How can I debug require_once() issues?
To debug require_once() issues, you can use the following techniques:
- Use the
file_exists()function to check if the file exists before including it. - Use the
is_readable()function to check if the file is readable before including it. - Use the
error_reporting()function to enable error reporting and display errors.
Back to top ↑
- PHP: require_once — Manual
- PHP: include_once — Manual
- Understanding PHP File Permissions and Ownership
- PHP: set_include_path — Manual
- PHP: Local File Inclusion (LFI) — OWASP
Back to top ↑
Перехали на новый сервер, вылетела ошибка.
Fatal error: require_once(): Failed opening required ‘/home/bitrix/www/local/modules/custom.module/lib/exception.php’ (include_path=’.:/usr/share/pear:/usr/share/php’) in /home/bitrix/www/bitrix/modules/main/lib/loader.php on line 313 PHP Fatal error: Uncaught Error: Class ‘BitrixMainDiagExceptionHandlerLog’ not found in /home/bitrix/www/bitrix/modules/main/lib/diag/exceptionhandler.php:350
Проверил все пути вручную, файлы на месте. На сторонних форумах нашёл такое объяснение:
If you break apart your string «.:/usr/share/pear:/usr/share/php» using that character, you will get 3 parts
. (this means the current directory your code is in)
/usr/share/pear
/usr/share/ph
Any attempts to include()/require() things, will look in these directories, in this order.
Не пойму, в моём случае require_once() пытается найти файлы в /usr/share/pear и /usr/share/php ? Какие-то настройки на сервере надо править так? Или я не верно понимаю проблему?
-
Вопрос заданболее трёх лет назад
-
5541 просмотр
Пригласить эксперта
/usr/share/pear и /usr/share/php — это альтернативные пути для различных библиотек.
Проверьте права на чтение здесь ‘/home/bitrix/www/local/modules/custom.module/lib/exception.php’
Скорее всего, вы не учитываете регистр файлов, который под Windows не имеет значения, а под другими ОС имеет.
Попробуйте переименовать
/bitrix/modules/main/lib/diag/exceptionhandlerlog.php
в
/bitrix/modules/main/lib/Diag/ExceptionHandlerLog.php
Ну и другие файлы также (если там используется совместимый с PSR-4 автолоадер)
По какой-то загадочной причине пользователи похапе en masse не читают подробное объяснение ошибки, предоставленное интерпретатором РНР, предпочитая гадание на кофейной гуще.
Казалось бы, объяснение прямо под носом: ищем файл в папке local
/home/bitrix/www/local/modules/custom.module/lib/exception.php
в то время как в реальности файлы приложения лежат в папке bitrix
/home/bitrix/www/bitrix/modules/main/lib/loader.php
То есть можно предположить банально неверную конфигурацию приложения.
-
Показать ещё
Загружается…
04 июн. 2023, в 12:07
2000 руб./за проект
04 июн. 2023, в 12:06
1000 руб./за проект
04 июн. 2023, в 12:06
30000 руб./за проект
Минуточку внимания
За последние 24 часа нас посетили 9862 программиста и 910 роботов. Сейчас ищут 626 программистов …
-
- С нами с:
- 16 июл 2013
- Сообщения:
- 11
- Симпатии:
- 0
В php я новичок и поэтому не особо понимаю в чем моя ошибка
Поставил денвер с php 5.3 и пакет расширений
Накатил DLE 9.8
И всё работает, но мне нужно влепить еще одну маленькую cms модулем
Сам DLE и cms по отдельности работают, но стоит мне впилить эту cms в окно {content} сайта, как всё крашится с ошибкойFatal error: require_once(): Failed opening required ‘./smarty/libs/Smarty.class.php’ (include_path=’.;Z:usrlocalphp5pear;/usr/local/php5/PEAR’) in Z:homesite.comwwwcabinetindex.php on line 4
Сама cms использует для работы smarty
И я сначала подумал, что этот smarty конфликтует с каким-нибудь API, но такая ошибка появляется всегда, как в основном файле модуля появляется команда require_onceПомогите решить проблему позязя))
Вот сам основной файл подключаемого модуля
-
define(‘INCLUDE_CHECK’,true);
-
require_once(‘./smarty/libs/Smarty.class.php’);
-
include (‘./include/config.php’);
-
include (‘./include/kassa_config.php’);
-
include (‘./include/func.php’);
-
$path = dirname(__FILE__);
-
$logger = new Logger(«./mcshop.log»);
-
$log_date = «[» . date(«d/m/Y H:i») . «] «;
-
$q = mysql_query(«SELECT `value` FROM `settings` WHERE `name`=’theme’;»,$sql);
-
$theme = mysql_result($q,0);
-
$theme_path = ‘./theme/’.$theme.’/’;
-
$tpl->template_dir = $theme_path;
-
$tpl->compile_dir = ‘./cache/’;
-
$tpl->cache_dir = ‘./cache/’;
-
$tpl->assign(‘path’, $theme_path);
-
if(empty($_SESSION[‘id’])) {
-
// Тут делаем авторизацию
-
$tpl->assign(‘title’, ‘Авторизация’);
-
if(isset($_GET[‘error’])) {
-
$tpl->assign(‘errno’, ‘Неверный логин или пароль!’);
-
$logger->WriteLine($log_date . «Неудачная попытка авторизации с ip: » . $_SERVER[‘REMOTE_ADDR’]);
-
$tpl->assign(‘title’, ‘Личный Кабинет’);
-
$tpl->display(‘guest.tpl’);
-
$username = mysql_real_escape_string($_SESSION[‘name’]);
-
$right = privelegie($username, $db_users, $db_users_name, $sql);
-
$q = mysql_query(«SELECT money FROM {$db_users} WHERE {$db_users_name}=’$username’;»,$sql);
-
$tpl->assign(‘money’, mysql_result($q,0));
-
$tpl->assign(‘username’, $username);
-
$q = mysql_query(«SELECT value FROM settings WHERE name=’ip’ OR name=’port’;»,$sql);
-
$ip = mysql_result($q,0);
-
$port = mysql_result($q,1);
-
$settings = GetSettings($sql);
-
$server = Server($ip,$port);
-
if(!isset($server[‘name’])) $server[‘name’] = ‘Неопознанно’;
-
$tpl->assign(«shop_id»,$shop_id);
-
$tpl->assign(«right»,$right);
-
$tpl->assign(«map_enabled»,$settings[‘map_enabled’]);
-
$tpl->assign(‘srv_name’, $server[‘name’]);
-
$tpl->assign(‘ip’, ‘ip=’.$ip.’&port=’.$port);
-
$tpl->assign(‘navigation’, ‘menu.tpl’);
-
if(!isset($_GET[‘page’]) || $_GET[‘page’] == ») {
-
$tpl->assign(‘title’, ‘Личный Кабинет’);
-
$tpl->assign(‘content’, ‘skin.tpl’);
-
include(«./modules/blocks_main.php»);
-
include(«./modules/skin.php»);
-
include(«./modules/cp.php»);
-
$tpl->assign(‘welcome1’, ‘Добро пожаловать ‘.$username.’!’);
-
$tpl->assign(‘welcome2’, ‘Это ваш личный кабинет на игровом сервере ‘.$server[‘name’]);
-
$full_path = ‘./theme/’.$theme.’/’.$_GET[‘page’].’.tpl’;
-
if(!file_exists($full_path)) {
-
$tpl->assign(‘title’, ‘Ошибка 404’);
-
$tpl->assign(‘content’, ‘error.tpl’);
-
$tpl->assign(‘welcome1’, ‘Ошибка 404’);
-
$tpl->assign(‘welcome2’, »);
-
if($_GET[‘page’] == ‘buy’) {
-
$tpl->assign(‘title’, ‘Покупка статуса’);
-
include(«./modules/buy.php»);
-
$tpl->assign(‘welcome1’, ‘Покупка статуса’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете купить игровой статус’);
-
if($_GET[‘page’] == ‘skin’) {
-
$tpl->assign(‘title’, ‘Сменить скин’);
-
include(«./modules/skin.php»);
-
$tpl->assign(‘content’, ‘skin.tpl’);
-
$tpl->assign(‘welcome1’, ‘Смена скина’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете изменить свой игровой скин’);
-
if($_GET[‘page’] == ‘support’) {
-
$tpl->assign(‘title’, ‘Техническая поддержка’);
-
include(«./modules/support.php»);
-
$tpl->assign(‘content’, ‘support.tpl’);
-
$tpl->assign(‘welcome1’, ‘Тех поддержка’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете написать в тех. поддержку’);
-
if($_GET[‘page’] == ‘cp’) {
-
$tpl->assign(‘title’, ‘Дополнительные услуги’);
-
include(«./modules/cp.php»);
-
$tpl->assign(‘welcome1’, ‘Дополнительные услуги’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете воспользоваться другими услугами сервера’);
-
if($_GET[‘page’] == ‘admin’) {
-
$tpl->assign(‘title’, ‘Панель администратора’);
-
include(«./modules/admin.php»);
-
$tpl->assign(‘welcome1’, ‘Панель администратора’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете управлять магазином в зависимости от Ваших прав’);
-
if($_GET[‘page’] == ‘map’) {
-
$tpl->assign(‘title’, ‘Карта сервера’);
-
include(«./modules/map.php»);
-
$tpl->assign(‘welcome1’, ‘Карта сервера’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете увидеть карту сервера’);
-
if($_GET[‘page’] == ‘blocks’) {
-
$tpl->assign(‘title’, ‘Продажа блоков’);
-
include(«./modules/blocks.php»);
-
$tpl->assign(‘welcome1’, ‘Продажа блоков’);
-
$tpl->assign(‘welcome2’, ‘Здесь вы можете купить необходимыа Вам для игры блоки’);
-
// Для интерфейсов оплаты
-
if($_GET[‘page’] == ‘success’) {
-
$tpl->assign(‘title’, ‘Пополнение счета’);
-
include(«./kassa/success.php»);
-
$tpl->assign(‘welcome1’, ‘Пополнение счета’);
-
$tpl->assign(‘welcome2’, »);
-
if($_GET[‘page’] == ‘fail’) {
-
$tpl->assign(‘title’, ‘Пополнение счета’);
-
include(«./kassa/fail.php»);
-
$tpl->assign(‘welcome1’, ‘Пополнение счета’);
-
$tpl->assign(‘welcome2’, »);
-
if($_GET[‘page’] == ‘quit’) {
-
header(«Location: index.php»);
-
$tpl->display(‘main.tpl’);
-
iliavlad
Активный пользователь- С нами с:
- 24 янв 2009
- Сообщения:
- 1.689
- Симпатии:
- 4
Re: [Помогите] Fatal error: require_once()
у тебя в папке Z:homesite.comwwwcabinet есть папка smarty ?
-
- С нами с:
- 16 июл 2013
- Сообщения:
- 11
- Симпатии:
- 0
Re: [Помогите] Fatal error: require_once()
да
и папка и все файлы имеются -
Команда форума
Модератор- С нами с:
- 11 июн 2010
- Сообщения:
- 10.918
- Симпатии:
- 1.198
- Адрес:
- там-сям
require/include ищут файл относительно папки с «точкой входа», а не относительно папки с файлом в котором стоит этот require/include.
поясню:
если наш запрос обрабатывается файлом
Z:homesite.comwwwindex.php
который подключает, например файл ‘./cabinet/ololo.php’ , то есть уже
Z:homesite.comwwwcabinetololo.php
а тот, в свою очередь пытается подключить ‘./smarty/libs/Smarty.class.php’ , то этот файл будет искаться в
Z:homesite.comwwwsmartylibsSmarty.class.php — относительно первого файла!!! никаких «cabinet» здесь уже не наблюдаемДобавлено спустя 5 минут 13 секунд:
хотите инклудить относительно текущего файла? делайте так:-
include __DIR__.‘/path/to/file.php’; // начиная с PHP 5.3
или
-
include dirname(__FILE__).‘/path/to/file.php’; // во всех версиях PHP
Добавлено спустя 3 минуты 57 секунд:p.s. ты глянь в свой код, там даже есть готовая переменная $path, которую ты можешь использовать для «умного» инклуда
-
- С нами с:
- 16 июл 2013
- Сообщения:
- 11
- Симпатии:
- 0
Re: [Помогите] Fatal error: require_once()
Спасибо вам огромное))
Благодаря вам сэкономил кучу времениАдреса поправил в основном фале руками, но есть ли какой нибудь инструмент, который исправит это автоматически?
-
Команда форума
Модератор- С нами с:
- 11 июн 2010
- Сообщения:
- 10.918
- Симпатии:
- 1.198
- Адрес:
- там-сям
а не надо автоматически. думать надо и индивидуально решать.
-
- С нами с:
- 16 июл 2013
- Сообщения:
- 11
- Симпатии:
- 0
-
вобще, достаточно было убрать «./»…
относительно include path они ищут файл
-
#1
Ошибка при инклуде, хотя файл есть
В коде:
require_once(‘../../prepare.inc’);
Интерпретатор выдает ошибку:
Warning: require_once(prepare.inc) [function.require-once]: failed to open stream: No such file or directory in G:serveralien****includestandart_classesCustomActionsEditItemAction.class.php on line 3
Fatal error: require_once() [function.require]: Failed opening required ‘prepare.inc’ (include_path=’.;C:php5pear’) in G:serveralien****includestandart_classesCustomActionsEditItemAction.class.php on line 3
Файл 100% существует, к тому же, его правильно инклудит среда разработки (т.к. видно определение классов). Или это может быть связано с тем, что файл, который вызывает ошибку, сам инклудится в том prepare.inc ? Т.е. получает как бы кольцо, но раньше таких проблем не было..
Mr_Max
Первый класс. Зимние каникулы ^_^
-
#3
Используйте абсолютные пути.
PHP:
require_once dirname(__FILE__).'/../../prepare.inc';
-
#4
Или это может быть связано с тем, что файл, который вызывает ошибку, сам инклудится в том prepare.inc
если получается кольцо, то пхп так и пишет — ПОЛУЧАЕТСЯ КОЛЬЦО
а если он пишет No such file or directory, то выучить надо английский хотя бы в таком примитивном объеме трех слов
-~{}~ 20.08.07 09:17:
Sanchez
никто не сомневается, что файл существует.
просто путь к нему надо указывать тот, который есть, а не тот, которого нет.
дело не в файле. а в программисте. который путь указывает.
это может быть связано с тем, что файл, который вызывает ошибку, сам инклудится в том prepare.inc
поясни-ка эту глубокую мысль поподробнее.
у тебя есть файл, prepare.inc
в котором написано include EditItemAction.class.php
а в нем написано include prepare.inc?
-
#5
Ребята, я знаю что такое относительный и абсолютный путь, что такое права доступа и регистр. Последние два фактора исключены, т.к. я работаю под виндой.
По поводу существования файла — если бы я не был уверен, что указал путь правильно, я бы не писал сюда. Этот файл видит по указанному пути среда разработки — иначе бы она написала, что файл не найден и не подгрузила бы в Intellisence описания классов.
———-
поясни-ка эту глубокую мысль поподробнее.
у тебя есть файл, prepare.inc
в котором написано include EditItemAction.class.php
а в нем написано include prepare.inc?
———-
Да, но не include, а require_once, поэтому в принципе «кольца» не должно быть, я на всякий случай спросил.
-
#6
ню-ню. если хватило ума придумать алгоритм с такими рекурсивными инклюдами, то я не удивлюсь вообще никаким проблемам. просто исходя из образа мышления аффтара
В любом случае, раз ты такой умный и сам все знаешь, то форум тебе помочь ничем не сможет.
Ответ на свой вопрос ты получил.
-
#7
а причём тут среда разработки? мало ли что она видит
-
#8
Андрейка
Ну как же?
Если я вижу из своего окна винный магазин, то все остальные должны тоже видеть. Ведь смотрят всев одну и ту же сторону — в окно!
-
#9
Инклюд я делал исключительно для Intellisence, т.к. иначе среда не распознает что этот файл был проинклуден в другом и не подгружает описания классов, а без интеллисенса работать тяжело. В окончательном варианте само собой это все убирается, но мне интересно ПОЧЕМУ в данном случае интерпретатор не может найти файл.
Ну собственно ничего нового я в этой теме и не узнал, кроме понтов некоторых товарищей)))
-
#10
Sanchez
как это — не узнал? Тебе объяснили, например, пользу знания иностранных языков вообще, и что «failed to open stream» не означает «получает как бы кольцо» — в частности.
А то ты сам-то сообразить не догадался. Ни с понтами, ни без.
-
#11
Ой ладно, по существу не можете ответить (кроме Mr_Max, но к сожалению его советы я уже знал и пытался использовать сам), значит надо максимально опустить человека — железная логика)))
Модератору — просьба закрыть эту тему.
-
#12
чувак.
ты задал идиотский вопрос.
и теперь еще обижаешься, что тебя «опустили»?
скромнее надо быть.
закрывать тему я не буду.
вдруг кто-нибудь еще захочет оттянуться.
-~{}~ 20.08.07 12:29:
очередной раз напишу пояснение для тех, кто на основании таких топиков делает вывод, что на пхпклубе «всех опускают».
в интернете полно лохов, которые полагают себя самыми умными, и очень мало действительно умных людей.
различие между ними очень простое.
умный человек, столкнувшись с загадочной ситуацией, которой, по его мнению, никак не может быть, делает две вещи:
1. 10 раз все проверяет и перепроверяет. придя на форум — ПЕРВЫМ ДЕЛОМ предоставляет эти результаты проверок. мол — убедитесь, я не из пальца все высосал. Поскольку сам ПОНИМАЮ, что ситуация дурацкая.
2. Делает все, что ему говорят на форуме и снова предоставляет результаты.
что делает лох?
тоже две вещи
1. Первым делом идет на форум, чтобы ему быстро решили его проблему. причем отвечающие должны сами догадаться по весьма куцому описанию обо всех нюансах, а так же о том, что автор пробовал, и какой получил результат.
2. Если ответ кажется ему глупым или «не по существу», то ответ отбрасывается, а начинаются рассуждения о том, какие все вокруг плохие и «с понтами». И, разумеется, все он читал и все знает.
Виноватым, в обязательном порядке, оказывается тот, кто отвечал. Сам же задавший вопрос — безгрешен.
-
#13
опускают на зоне. что за базары внатуре. есть же красивый литературный язык. Правильно говорить «унизили применением анального секса»
-
#14
Автор оригинала: SiMM
Используйте абсолютные пути.PHP:
require_once dirname(__FILE__).'/../../prepare.inc';
ну раз уже так, тогда
PHP:
require_once realpath(dirname(__FILE__) . '/../../prepare.inc');
-
#15
я бы даже сказал, что echo вместо require_once
но товарищ же все знает и все пробовал сам
-
#16
Вот это уже более конструктивно.
Не надо судить об уровне знаний человека (лох или не лох) и его опыте по количеству сообщений. У меня возникла проблема, с которой я раньше не сталкивался — самому решить ее не получилось. Я думал может я перепутал уровни вложенности, проверил — правильно. Проблемы с регистром и правами доступа исключены, т.к. я работаю на винде.
Написал следующую строку в EditItemAction.class.php:
<?php
print realpath(dirname(__FILE__) . ‘/../../prepare.inc’);
require_once(‘../../prepare.inc’);
Результат — на картинках.


Как вы видите, по нужному пути файл существует. А ошибка все равно остается.
Я бы мог убрать этот инклуд, т.к. он не нужен реально для работы сайта, но как я говорил — мне он нужен в отладочных целях чтобы работал Intellisence, и просто интересно ОТКУДА берется эта ошибка.
-
#17
Не надо судить об уровне знаний человека (лох или не лох) и его опыте по количеству сообщений.
правильно.
судить надо по содержанию.
что человек пишет — так по нему и судят. только так.
-
#18
А не может ошибка возникать из-за того, что пока prepare.inc инклудит EditItemAction.class.php, он заблокирован для чтения (т.к. выполняется), поэтому EditItemAction.class.php не может заинклудить prepare.inc ?
-
#19
require_once(‘../../prepare.inc’);
слушай, ты издеваешься, или как?
тебе раз 15 уже сказали использовать полный путь, но ты все равно упорно пишешь относительный.
это у тебя принцип такой, что ли?
-~{}~ 20.08.07 13:16:
сообщения об ошибках надо приводить полностью.
и ТЕКСТОМ, а не какие-то огрызки на картинках.
свой драгоценный сайт можешь затирать сколько угодно — никому он даром не нужен.
а вот ТЕКСТ сообщения об ошибке, надо приводить ПОЛНОСТЬЮ.
если тебе он ничем не помогает, это еще не значит, что он никому вообще не нужен
-
#20
Действительно с полным путем проинклудилось, спасибо. А почему он с относительным не хотел?


