Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
1

Как заставить сайт написанный на 5.3 заставить работать на 5.6? Как принудительно включить register_globals?

01.12.2017, 06:33. Просмотров 1190. Ответов 9
Метки нет (Все метки)

Есть древний сайт. Работает на php 5.3. Как объяснил разработчик данного сайта - все дело в register_globals, надо принудительно включить этот параметр. Проблема в том, что я не понимаю, что же конкретно нужно написать в htaccess, чтобы это все заработало? или может где-то в другом месте прописать нужно некий код? Сервер надо переводить на 5.6 (там несколько сайтов...), а из-за этого динозавра все встало.

прошу мне объяснить, что нужно делать как тупому =)

PS. Безопасностью сайта готов пожертвовать. Нужно чтобы просто работало...а как - неважно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2017, 06:33
Ответы с готовыми решениями:

Принудительно заставить работать ядра процессора реально?
т.е. у меня программа изначально должна загрузить большой текст,но делает это долго+ если...

как заставить писиспикер заставить хоть чтото проскрипеть?
помогите дураку как заставить писиспикер заставить хоть чтото проскрипеть??? в бэйсике с этим не...

Как заставить работать do while
Печатает пока 100 строк не будут заполнены, нужно при вводе символа n закончить принятие данных и...

как заставить работать QT
Только установила QT. Пытаюсь скомпилировать консольную программу: #include <QTextStream> int...

9
Эксперт PHP
4198 / 3127 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
01.12.2017, 07:32 2
Цитата отсюда:
Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
01.12.2017, 07:38  [ТС] 3
Цитата Сообщение от Para bellum Посмотреть сообщение
Цитата отсюда:
Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.
Это я понял. но может как-то можно обмануть систему?

Добавлено через 3 минуты
Я на сколько понял, можно запустить эмуляцию этих функций...или подмену...черт его знает. Как-то можно, а как не знаю.
0
Эксперт PHP
4198 / 3127 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
01.12.2017, 07:54 4
Попробуйте создать отдельный файл, в котором распаковывайте массивы $_POST, $_GET, $_COOKIE с помощью функции extract.
Потом подключайте этот файл во все скрипты, где нужен данный функционал.

P.S. Только лучше переписать скрипты, чем register_globals эмулировать. Хотя это Вы и без меня знаете.
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
01.12.2017, 07:57  [ТС] 5
Цитата Сообщение от Para bellum Посмотреть сообщение
в котором распаковывайте массивы $_POST, $_GET, $_COOKIE с помощью функции extract.
Можно пример?
Цитата Сообщение от Para bellum Посмотреть сообщение
Только лучше переписать скрипты, чем register_globals эмулировать
Как то не хочется весь этот сайт переписывать. На крайняк потом на cms переведу его.
0
Эксперт PHP
4198 / 3127 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
01.12.2017, 08:01 6
Цитата Сообщение от Phobos92 Посмотреть сообщение
Можно пример?
PHP
1
2
3
4
5
<?php
 
extract($_POST, EXTR_SKIP);
extract($_GET, EXTR_SKIP);
extract($_COOKIE, EXTR_SKIP);
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
01.12.2017, 08:03  [ТС] 7
Цитата Сообщение от Para bellum Посмотреть сообщение
подключайте этот файл во все скрипты
А это каким образом делается?

PS просил же) как для тупых)
0
Эксперт PHP
4198 / 3127 / 1012
Регистрация: 06.01.2011
Сообщений: 9,093
01.12.2017, 08:10 8
Создайте файл в корне сайта (или где удобней) с именем register_globals.php, например. Скопируйте туда код, что я выше привёл.
Затем открывайте файлы со скриптами (где нужна эмуляция register_globals) и пишите в них:
PHP
1
require_once 'путь к файлу register_globals.php';
после <?php.
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
01.12.2017, 13:33  [ТС] 9
А можно подобное подключение сделать сразу для всего сайта? кстати приведенный выше код - отказался работать. но сработал такой:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 240
08.06.2018, 11:28  [ТС] 10
Ответ! полноценно - никак.
Убить старый сайт к чертям и перенести все на новый движок.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2018, 11:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как заставить работать ? :)
Form1.label6.caption := FloatTostr (dosp); if Dosp &lt;=0.1 then Form1.label7.caption := '0.1'; ...

libtorrent - как заставить её работать?
Привет всем. Столкнулся с &quot;волшебной&quot; библиотекой libtorrent. 1) Собрал boost 1_54 bjam...

Как заставить minify работать?
на продакшене - Заблокирована загрузка смешанного активного содержимого...

Как заставить работать скрипт
Добрый день! Имеется скрипт проверки совместимости версии iOS для репозитория Cydia. const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.