Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена cуперглобального предопределённог массива 
:(
    Опции темы
Xplod
Дата 18.9.2009, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.6.2007

Репутация: 1
Всего: 1



Здравствуйте!

На новом хостинге столкнулся с проблемой не объявляются суперглобал массив $_SERVER, самое интересное что делается только когда я запускаю скрипт через крон, проверил в php.ini стоит register_globals = on. Запускаю через браузер все нормально, а через крон нет. Подскажите как решить эту проблему если это возможно.

Спасибо!   
PM MAIL   Вверх
brother79
Дата 18.9.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 18.8.2009

Репутация: 2
Всего: 6



Я когда пускал через 

php <скрипт> - вроде тоже там ничего не было

Попробуй что-то типа:

 /usr/bin/wget -q -O /dev/null http://nastandart.com/clear.php


--------------------
PM MAIL WWW   Вверх
lelik133
Дата 18.9.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



а, откуда взяться массиву $_SERVER при запуске скрипта в cli-режиме ?
из мануала
Цитата

The entries in this array are created by the web server.

web сервер  у вас не запущен следовательно и переменной быть не может.
2brother79 решение кривое на мой взгляд.

и зачем так обязательно нужен $_SERVER? может стоит пересмотреть архитектуру и отказаться от его использования
PM ICQ   Вверх
bars80080
Дата 18.9.2009, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(lelik133 @  18.9.2009,  09:37 Найти цитируемый пост)
и зачем так обязательно нужен $_SERVER? может стоит пересмотреть архитектуру и отказаться от его использования 

интересная формулировка. я ранее пребывал в мнении, что все адреса (вэб и физические) строятся исключительно от $_SERVER
PM MAIL WWW   Вверх
lelik133
Дата 18.9.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



а зачем web-адреса скрипту работающему из консоли?
а физические есть два пути
1. задать константув начале  и от нее строить все пути
2. chdir(dirname(__FILE__)); в начале скрипта и строить все пути как относительные от скрипта
PM ICQ   Вверх
bars80080
Дата 18.9.2009, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(lelik133 @  18.9.2009,  10:52 Найти цитируемый пост)
а зачем web-адреса скрипту работающему из консоли?

запустить модуль, к примеру


Цитата(lelik133 @  18.9.2009,  10:52 Найти цитируемый пост)
 задать константув начале  и от нее строить все пути

как я узнаю с чего должна начинаться константа? у меня движок может быть расположен где-угодно. сейчас он определяет своё местоположение через $_SERVER

__FILE__ работает везде?
и как всё же из него узнать корень сайта? ведь это только местоположение самого файла
PM MAIL WWW   Вверх
Ипатьев
Дата 18.9.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



еще есть $_ENV
PM MAIL   Вверх
lelik133
Дата 18.9.2009, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



Цитата

_FILE__ работает везде?
и как всё же из него узнать корень сайта? ведь это только местоположение самого файла 

не сталкивался чтобы не работало
ну вы же знаете где файл у вас относительно корня лежит
PM ICQ   Вверх
bars80080
Дата 18.9.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



у меня $_ENV - array(0) { }

Добавлено через 31 секунду
Цитата(lelik133 @  18.9.2009,  11:12 Найти цитируемый пост)
ну вы же знаете где файл у вас относительно корня лежит 

Цитата(bars80080 @  18.9.2009,  11:07 Найти цитируемый пост)
у меня движок может быть расположен где-угодно

не знаю
PM MAIL WWW   Вверх
Ипатьев
Дата 18.9.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



может, на новом хостинге есть $HTTP_SERVER_VARS?  smile 
PM MAIL   Вверх
IZ@TOP
Дата 18.9.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Ой, ну ребят вы меня насмешили. 

Цитата

$_SERVER is an array containing information such as headers, paths, and script locations. The entries in this array are created by the web server. There is no guarantee that every web server will provide any of these; servers may omit some, or provide others not listed here. That said, a large number of these variables are accounted for in the » CGI 1.1 specification, so you should be able to expect those.


Если логически поразмыслить, как вообще можно полагаться на данные, которые не гарантированы?
Я всю жизнь считал, что строить пути нужно на основании информации о файле, который был исполнен интерпретатором, либо записью в конфигурационном файле. И уж если по идеологии Zend'а, полагаться исключительно на include_path. Но никак не на DOCUMENT_ROOT, к примеру, из массива $_SERVER (сколько я видел несчастных, которые напоролись на эти грабли).


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Xplod
Дата 18.9.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.6.2007

Репутация: 1
Всего: 1



спасибо всем, придется ручками определять константу ROOT_DIR  smile 
PM MAIL   Вверх
bars80080
Дата 18.9.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(IZ@TOP @  18.9.2009,  12:33 Найти цитируемый пост)
Но никак не на DOCUMENT_ROOT, к примеру, из массива $_SERVER (сколько я видел несчастных, которые напоролись на эти грабли). 

ни разу не напарывался, а везде где возникал вопрос о построении абсолютных путей всегда рекомендовали искать хвосты в $_SERVER

и то что она присутствует не везде, тоже первый раз слышу

на что же тогда опереться? где взять корень сайта?
а также, (мы же говорим теперь уже про общий случай, не только про консольный вариант?) откуда можно выдрать query_string и всю строку запроса? 
PM MAIL WWW   Вверх
Simpliest
Дата 18.9.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(bars80080 @  18.9.2009,  13:58 Найти цитируемый пост)
а также, (мы же говорим теперь уже про общий случай, не только про консольный вариант?) откуда можно выдрать query_string и всю строку запроса?

Строка запроса есть только в случае вебсервера.

В консоли это argc, argv

Добавлено через 1 минуту и 18 секунд
Для поиска пути

http://ua.php.net/manual/en/language.const....predefined.php

__DIR__
__FILE__



--------------------
user posted image
PM   Вверх
bars80080
Дата 18.9.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Simpliest @  18.9.2009,  14:16 Найти цитируемый пост)
Для поиска пути

http://ua.php.net/manual/en/language.const....predefined.php

__DIR__
__FILE__ 

не совсем понимаю, как это мне даст выяснить корень


Цитата(Simpliest @  18.9.2009,  14:16 Найти цитируемый пост)
В консоли это argc, argv

а как же универсальность? неужели нельзя сделать, чтобы скрипт одинаково работал в обоих вариантах? или придётся писать отдельную версию для работы под cron, к примеру?
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.