'DOCUMENT_ROOT' не пашет из под шелл

Тема в разделе "PHP", создана пользователем qwyjibo, 24 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. qwyjibo

    qwyjibo Постоялец

    Регистр.:
    27 янв 2009
    Сообщения:
    64
    Симпатии:
    12
    Не работает через ssh. Вот такой вот скрипт ничего не выдает, если запустить его из shell доступа. Если через браузер - то все работает как и должно. И если пути прописать полные - тоже все работает.
    PHP:
    #!/usr/local/bin/php
    <?php
    echo $_SERVER["DOCUMENT_ROOT"];
    ?>
    Это так и должно быть, или чего-то в настройках не то?
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    читай справку
    $_SERVER отдается апачем , когда запускаешь в консоли -- апача нет, => массив пустой
     
    qwyjibo нравится это.
  3. wwwitalya

    wwwitalya Создатель

    Регистр.:
    4 май 2009
    Сообщения:
    45
    Симпатии:
    18
    Попробуй через curl запускать. Это несколько через жопу, но зато скрипт не надо переписывать. Как правило это выглядит так:
    /usr/local/bin/curl -s 'http://test.ru/file.php'
    Но точнее надо у хостера уточнять.
     
    qwyjibo нравится это.
  4. qwyjibo

    qwyjibo Постоялец

    Регистр.:
    27 янв 2009
    Сообщения:
    64
    Симпатии:
    12
    Так все началось с того, что через крон не работало. И в шелл я полез только чтобы разобраться что да как ))). Я так понимаю, что крон, что шелл - одинаково серверные переменные пустые будут. Так что я просто прописал полный путь в скрипте и все теперь работает отлично :).
     
  5. Longot

    Longot Создатель

    Регистр.:
    24 июн 2008
    Сообщения:
    11
    Симпатии:
    2
    Тебе нужно или переписать скрипт, чтоб он работал без $_SERVER["DOCUMENT_ROOT"], или по крону запускать wget http://.....
    Тоесть делать запуск скрипта через апачу.
     
    qwyjibo нравится это.
  6. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    попробуй $_SERVER["DOCUMENT_ROOT"] заменить на dirname(__FILE__)
     
    qwyjibo нравится это.
  7. alfaexpert

    alfaexpert

    Регистр.:
    23 июл 2008
    Сообщения:
    183
    Симпатии:
    27
    Только что проверял фишка с dirname(__FILE__); под шеллом работать будет
     
Статус темы:
Закрыта.