За последние 24 часа нас посетили 22785 программистов и 1225 роботов. Сейчас ищут 740 программистов ...

Сволочной сервер/ тупой я

Тема в разделе "PHP для новичков", создана пользователем Vladchucha, 16 апр 2020.

  1. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Добрый день, прошу помощи.
    Сайт с простой структурой. В корне каталоги:
    globalincluds, www.
    В globalincluds находится:
    файл FUNCTIONS_w.php,
    файл FUNCTIONS.php
    файл GLOBAL_INCLUDS_w.php
    каталог Classes, в Classes файл dbmsql_w.php.
    В www находится (в частности)
    файл index_in_w.php.
    Через include идет подключение файлов,
    все работает корректно,
    НО только на локальном сервере.
    На небе происходит корректное подключение dbmsql_w.php,
    но FUNCTIONS_w.php и FUNCTIONS.php не желает подключать.
    Большие, маленькие буквы (Unix, Windows)проверил.
    Код дальше, но что меня вообще сбивает с толку -
    точно такая структура с небольшим отличием внутри файлов
    на другом сайте на этом же сервере фурычит без ошибок.
    И еще. Система не выдает накаких ошибок типа
    Warning: include(): Failed opening 'D:\XAMPP\htdocs\ockham\Classes/dbmsql_w.php' for inclusion (include_path='D:\XAMPP\php\PEAR') in D:\XAMPP\htdocs\ockham\globalincluds\GLOBAL_INCLUDS_w.php on line 6,
    а просто игнорирует попытку подключения,
    проверяю простым if.
    Как работает (не работает) видно здесь http://www.ockham.xyz/www/index_in_w.php
    PHP:
    1.   // FILE: index_in_w.php
    2. include_once(dirname(__FILE__, 2) . DIRECTORY_SEPARATOR . 'globalincluds/GLOBAL_INCLUDS_w.php');
    3. include_once(dirname(__FILE__, 2) . DIRECTORY_SEPARATOR . 'www/inc/head_w.php');
    4. ?>
    5. <section>
    6. <?php
    7. //if ($_SESSION["lan"] == 'ru')
    8. //{
    9.   echo 'ZZZZZZUUU<br>YYYYYYYYYYYYYYY';  ?>
    Файл подключения
    PHP:
    1.  // FILE GLOBAL_INCLUDS_w.php
    2. declare ( strict_types=1 );
    3.     session_start();
    4.       $db = dirname( __FILE__,1).DIRECTORY_SEPARATOR.'Classes/dbmsql_w.php';
    5.     if( !include $db)
    6.      echo 'DB- NO !!!!!!!!<br />';
    7.     if ( include(dirname( __FILE__,1).DIRECTORY_SEPARATOR.'FUNCTIONS_w.php '))
    8.       echo 'INCLUDE_ F_w !!  ';
    9.         else echo 'NO INCLUDE_ F_w !!<br />  ';;
    10.     if( include(dirname( __FILE__,1).DIRECTORY_SEPARATOR.'FUNCTIONS.php '))
    11.             echo 'INCLUDE_ FUNCTIOS !!<br />  ';
    12.         else echo 'NO INCLUDE_ FUNCTIONS !!<br />  ';;
    13.    
    14.     if ( include '..\www\inc\pictures.php ')
    15.         echo 'INCLUDE_ PIC !!';
    16.         else echo ' NO INCLUDE_ PIC !!';
    17.        // Die Sprache ist ermittelt //
    Thanksю
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    На сервере включите отображение ошибок.
    Венигрет знатный с подключением, даже разбираться не охота
     
    Vladchucha нравится это.
  3. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    Лишний пробел после .php
     
    Vladchucha нравится это.
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    А ты говоришь сволочной сервер :)
    Сервер это тупая машина, которая делает всё по инструкции.
    Если что-то работает не так, то косяк в инструкции в 99.999(9) % случаев.
     
    Vladchucha нравится это.
  5. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    М..да..
    Спасибо большое, однако с учетом идиотизма и тупой машины.
    1. Почему локальный сервер умный и корректно отрабатывает
    PHP:
    1. include(dirname( __FILE__,1).DIRECTORY_SEPARATOR.'FUNCTIONS_w.php '
    ,
    то есть понимает, что пробел после .php никакой роли не играет, а мне не до всяких мелочей,
    а на сервере в облаках не хочет творчески думать.
    2. Теперь сделал
    Код (Text):
    1. 'FUNCTIONS_w.php'
    2. 'FUNCTIONS.php'
    3. '..\www\inc\pictures.php'
    Первые два - все хорошо, третий -
    picture все также, не видит, подключать не хочет....!!??
    Что еще может быть? Опять же, локально все ОК.
    3. На сервере включите отображение ошибок.
    Это как-то универсально делается?
    Я на своем не нашел такой опции.
    --- Добавлено ---
    P.S.
    2. С PICTURES разобрался, надо было
    Код (Text):
    1. ../www/inc/pictures.php'
    так напсать.
    Пора на Linux переходить....