![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Xplod |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2007 Репутация: 1 Всего: 1 |
Здравствуйте!
На новом хостинге столкнулся с проблемой не объявляются суперглобал массив $_SERVER, самое интересное что делается только когда я запускаю скрипт через крон, проверил в php.ini стоит register_globals = on. Запускаю через браузер все нормально, а через крон нет. Подскажите как решить эту проблему если это возможно. Спасибо! |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Я когда пускал через
php <скрипт> - вроде тоже там ничего не было Попробуй что-то типа: /usr/bin/wget -q -O /dev/null http://nastandart.com/clear.php |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
а, откуда взяться массиву $_SERVER при запуске скрипта в cli-режиме ?
из мануала
web сервер у вас не запущен следовательно и переменной быть не может. 2brother79 решение кривое на мой взгляд. и зачем так обязательно нужен $_SERVER? может стоит пересмотреть архитектуру и отказаться от его использования |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
а зачем web-адреса скрипту работающему из консоли?
а физические есть два пути 1. задать константув начале и от нее строить все пути 2. chdir(dirname(__FILE__)); в начале скрипта и строить все пути как относительные от скрипта |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
запустить модуль, к примеру как я узнаю с чего должна начинаться константа? у меня движок может быть расположен где-угодно. сейчас он определяет своё местоположение через $_SERVER __FILE__ работает везде? и как всё же из него узнать корень сайта? ведь это только местоположение самого файла |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
еще есть $_ENV
|
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
не сталкивался чтобы не работало ну вы же знаете где файл у вас относительно корня лежит |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
может, на новом хостинге есть $HTTP_SERVER_VARS?
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Ой, ну ребят вы меня насмешили.
Если логически поразмыслить, как вообще можно полагаться на данные, которые не гарантированы? Я всю жизнь считал, что строить пути нужно на основании информации о файле, который был исполнен интерпретатором, либо записью в конфигурационном файле. И уж если по идеологии Zend'а, полагаться исключительно на include_path. Но никак не на DOCUMENT_ROOT, к примеру, из массива $_SERVER (сколько я видел несчастных, которые напоролись на эти грабли). -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Xplod |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2007 Репутация: 1 Всего: 1 |
спасибо всем, придется ручками определять константу ROOT_DIR
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ни разу не напарывался, а везде где возникал вопрос о построении абсолютных путей всегда рекомендовали искать хвосты в $_SERVER и то что она присутствует не везде, тоже первый раз слышу на что же тогда опереться? где взять корень сайта? а также, (мы же говорим теперь уже про общий случай, не только про консольный вариант?) откуда можно выдрать query_string и всю строку запроса? |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Строка запроса есть только в случае вебсервера. В консоли это argc, argv Добавлено через 1 минуту и 18 секунд Для поиска пути http://ua.php.net/manual/en/language.const....predefined.php __DIR__ __FILE__ |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
не совсем понимаю, как это мне даст выяснить корень а как же универсальность? неужели нельзя сделать, чтобы скрипт одинаково работал в обоих вариантах? или придётся писать отдельную версию для работы под cron, к примеру? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |