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 :: Версия для печати :: No such file or directory БЕЗ WARNING
Форумы портала PHP.SU » » Вопросы новичков » No such file or directory БЕЗ WARNING

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

1. Oliver_Air - 06 Августа, 2013 - 17:04:51 - перейти к сообщению
Разрабатываю с нуля движок для одного сайта, но возникла непонятная проблема.

При сливе с денвера на хостинг, сайт выдает просто ошибку:
"No such file or directory "
Я бы понял если бы это была ошибка PHP (с Warning, строчками в которых допущена ошибка), а так просто эта фраза появляется при заходе на сайт.

исходники:

index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']);
  4. include_once('core/routing.php');
  5. ?>


routing.php

PHP:
скопировать код в буфер обмена
  1.  */
  2. $GLOBALS['sitemap'] = array (
  3.     '_404' => ROOT_DIR.'/page404.php',   // Страница 404</span>
  4.     '/kalendar' => ROOT_DIR.'/view/calendar.php', // для загрузки страниц
  5.     '/registration' => ROOT_DIR.'/view/registration.php', // для загрузки страниц
  6.     '/' => ROOT_DIR.'/view/mainpage.php',   // Главная страница
  7.     '/stories(/[0-9]+)?' => ROOT_DIR.'/storypage.php',  // С числовым параметром
  8.     '/activation' => ROOT_DIR.'/view/activation.php',  // Активация аккаунта
  9.     '/recovery' => ROOT_DIR.'/view/recovery.php',  //  Восстановление пароля
  10.     '/logout' => ROOT_DIR.'/view/logout.php',  //  выход из аккаунта
  11.     '/profile' => ROOT_DIR.'/view/profile.php',  //  Профиль
  12.     '/addevent' => ROOT_DIR.'/view/addevent.php',  //  Добавление события
  13.     '/event' => ROOT_DIR.'/view/event.php',  //  Добавление события
  14.     // Больше правил
  15. );


т.е. если я ставлю действительно неправильный адрес в инклудах - вылетает ошибка пхп (как и должно быть со строчкой где допущена ошибка).

Права на доступ 777.

на всякий случай запостю еще htacces

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <IfModule mod_charset.c>
  3.   CharsetRecodeMultipartForms off
  4. </IfModule>
  5. AddDefaultCharset UTF-8
  6.  
  7. # Turn on URL rewriting
  8. RewriteEngine On
  9.  
  10. # Installation directory
  11. RewriteBase /
  12.  
  13. RewriteCond %{REQUEST_FILENAME} !-f    
  14. RewriteCond %{REQUEST_FILENAME} !-d
  15. RewriteRule ^(.*)$ index.php [QSA,L]


Может кто сталкивался?
2. esterio - 06 Августа, 2013 - 17:17:21 - перейти к сообщению

Виводит верный путь

Oliver_Air пишет:
include_once('core/routing.php');

Зачем тогда ROOT_DIR. Используйте абсолютние пути

Oliver_Air пишет:
$GLOBALS['sitemap']

В который раз повторю GLOBALS - зло
3. VestCoastman - 06 Августа, 2013 - 17:23:30 - перейти к сообщению
Возможно отсутствует слеш в конце
define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT']);
- define('ROOT_DIR',$_SERVER['DOCUMENT_ROOT'].'/');
4. esterio - 06 Августа, 2013 - 17:27:33 - перейти к сообщению
VestCoastman пишет:
Возможно отсутствует слеш в конце

Нет
Oliver_Air пишет:
'_404' => ROOT_DIR.'/page404.php',
5. Oliver_Air - 06 Августа, 2013 - 17:28:24 - перейти к сообщению
esterio
Цитата:
Виводит верный путь


Цитата:
/home/pinguin1/pinguin.com.ua/festival
- echo ROOT_DIR
Цитата:
string(38) "/home/pinguin1/pinguin.com.ua/festival"
- var_dump($_SERVER['DOCUMENT_ROOT']);

т.е. рут выдает тоже самое.

при попытке сделать абсолютно:
../view/mainpage.php

получил ошибку
Цитата:
Fatal error: require() [function.require]: Failed opening required '../view/mainpage.php' (include_path='.:/usr/local/pear') in /home/pinguin1/pinguin.com.ua/fe stival/core/routing.php on line 87
6. esterio - 06 Августа, 2013 - 17:35:13 - перейти к сообщению
Oliver_Air пишет:
при попытке сделать абсолютно:
../view/mainpage.php

Ето не абсолютный путь!!!!! Ето также относительный.
Абсолютний виглядил бы
Цитата:
/home/pinguin1/pinguin.com.ua/festival/core/routing.php
7. Oliver_Air - 06 Августа, 2013 - 17:38:14 - перейти к сообщению
esterio

воспользовался вашим советом и сделал
Цитата:
/home/pinguin1/pinguin.com.ua/festival/view/mainpage.php

получил опять
Цитата:
No such file or directory
8. VestCoastman - 06 Августа, 2013 - 17:50:45 - перейти к сообщению
А файл то там вообще присутствует? И действительно ли в "fe stival" есть пробел?
PHP:
скопировать код в буфер обмена
  1. if(!file_exists('/home/pinguin1/pinguin.com.ua/fe stival/view/mainpage.php')){
  2.    echo "Not Exist";
  3. }else{
  4.    echo "Ok";
  5. }
9. Oliver_Air - 06 Августа, 2013 - 17:53:28 - перейти к сообщению
VestCoastman я не знаю но это форум растягивает буквы (в сообщениях пробелов нет)

скрипт выдал
Цитата:
Ok
10. esterio - 06 Августа, 2013 - 17:54:13 - перейти к сообщению
Oliver_Air
Я имел ввиду
PHP:
скопировать код в буфер обмена
  1. include_once(ROOT_DIR.'/core/routing.php');
11. Oliver_Air - 06 Августа, 2013 - 17:55:49 - перейти к сообщению
esterio

все ошибки что я приводил и сообщения выводятся уже из routing.php

т.е. его сайт видит, а дальше по древу нет
12. esterio - 06 Августа, 2013 - 18:08:46 - перейти к сообщению

?
13. Oliver_Air - 06 Августа, 2013 - 18:26:46 - перейти к сообщению
esterio

все так же... секунду

PHP:
скопировать код в буфер обмена
  1.  ROOT_DIR.'/../view/mainpage.php'


вот так сработало

а затем перестало работать
14. _Dark_ - 06 Августа, 2013 - 18:32:35 - перейти к сообщению
Если это не ошибка PHP, то это выводит скрипт, соответственно, может в скрипте надо найти это место?
15. Oliver_Air - 08 Августа, 2013 - 14:51:04 - перейти к сообщению
все мои кривые руки

 

Powered by ExBB FM 1.0 RC1