Бывает ли такая проблема в PHP?

12 3
T
На сайте с 28.06.2007
Offline
82
1258

Вообщем есть 2 хостинга все параметры в php.ini одинаковые кроме одного на одном Server Api Apache на другом Server Api CGI

На обоих одинаковый скрипт и HTML форма в которую вводятся данные пользователем затем эти переменные получает скрипт методом Post перемножает(считает) переменные и выводит результат.

Так вот на хостинге с Server Api Apache скрипт работает и выводит результат, а на Server Api CGI не выводит результата такое ощущение что он просто переменные не видит как например на хостинге с Server Api при выключенном register_globals. На обоих хостингах register_globals on и все параметры на хостингах одинаковые вплоть до версии php. Все подозрения пали на Server Api CGI. Никаких авторизаций в скрипте нет.

Вот вопрос возможно ли такое? :( Как с таким явлением можно бороться?

Алексей Пешков
На сайте с 24.03.2004
Offline
47
#1

Да, вполне обычная ситуация. Именно CGI тому причина.

В штатном мануале к PHP есть специальная статья на эту тему.

T
На сайте с 28.06.2007
Offline
82
#2

Алексей Пешков спасибо за ответ.

:( 2 дня всё думал что и как различные тесты на денвере проводил точно значит из за этого :(. А как с этим можно бороться?

Вот нагуглил в интернете http://www.citforum.ru/internet/php/if-mod-since/ ещё не пробовал стоит ли пробовать? Это получается надо все переменные например была переменная $abc надо будет сделать $_SERVER['abc'] и прописать про неё в .htaccess будет работать?

И ещё проблема с одним скриптом.

Скрипт этот берёт страницу посредством cURL сохраняет в файл потом файл парсится и результат выводится результат динамический тоесть страница что парсится меняется. Так вот вставляю скрипт с помощью функции include() в CMS. Не работает. Если запустить отдельно от CMS скрипт всё работает. На Server Api Apache работает и так и так. Тоже сравнивал и пришёл к выводу что это из за Server Api CGI возможно такое?

tommy-gung
На сайте с 22.11.2006
Offline
287
#3

$abc = $_POST['abc'];

Здесь не могла быть ваша реклама
T
На сайте с 28.06.2007
Offline
82
#4
tommy-gung:
$abc = $_POST['abc'];

Вот я дурак :)

Спасибо! Заработало :)

Вот бы ещё со вторым скриптом разобраться вообще хорошо было бы :)

Там работа с массивами если скрипт отдельно от CMS запускать всё нормально стоит только вставить в CMS не работает.

Вот так в CMS вставляю:

ob_start();

include('/home/put/put/put/name.php');

$name = ob_get_contents();

ob_end_clean();

это основной код естественно там есть проверка на существование скрипта.

В CMS пишу просто $name

Может есть какие-то ограничения с функцией ob_start(); если Server Api CGI.

На хостинге с Server Api Apache работает.

T
На сайте с 28.06.2007
Offline
82
#5

Подскажите как сделать так, чтобы выделенное красным не использовалось т.е. чтобы HTML код страницы записывался в переменную $dec без использования файла name.html.


$ch = curl_init("http://www.saita.net");
$fp = fopen ("name.html", "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
$name = '/home/put/put/put/name.html';
$dec = file_get_contents($name);
П
На сайте с 31.05.2007
Offline
3
#6

$ch = curl_init("http://www.saita.net");

#$fp = fopen ("name.html", "w");
#curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
#fclose ($fp);
#$name = '/home/put/put/put/name.html';
#$dec = file_get_contents($name);
[Удален]
#7
Алексей Пешков:
Да, вполне обычная ситуация. Именно CGI тому причина.

Либо вы не поняли вопроса, либо вы обмануть человека пытаетесь.

Единственное что влияет на POST это register_globals (когда выключены то данные надо брать из массива $_POST и это рекомендуется ибо включенные register_globals это зло)

[Удален]
#8

Потерянный, ты с перлом путаешь

$ch = curl_init("http://www.saita.net");
// $fp = fopen ("name.html", "w");
// curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
// fclose ($fp);
// $name = '/home/put/put/put/name.html';
// $dec = file_get_contents($name);

(хотя это всё равно вроде не то что автору вопроса нужно)

T
На сайте с 28.06.2007
Offline
82
#9
Зингельшухер:

(хотя это всё равно вроде не то что автору вопроса нужно)

Да я не про закомментирование кода имел ввиду, а про то как сделать чтобы скрипт имел такой же смысл как я описал выше, но без использования файла. Чтобы код страницы был равен переменной, а не записывался в файл.

П
На сайте с 31.05.2007
Offline
3
#10
Зингельшухер:
Потерянный, ты с перлом путаешь
(хотя это всё равно вроде не то что автору вопроса нужно)

Путаю? Уверен? А может так тоже можно? Блин, как раздражает, когда какой-то дурак тебя в чем-то упрекает.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий