The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Перенос сайта с Windows на Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Перенос сайта с Windows на Linux"  +/
Сообщение от searcher_3000 (ok) on 18-Сен-09, 13:40 
Здравствуйте! Я новичок, сайт писал на php, ОС Windows XP, использовал VertrigoServ[Apache+MySQL]. Сайт предназначен для служебного использования информации из базы данных на MySQL. Сайт готов, теперь необходимо "перенести" его на сервер Debian/GNU Linux.
Залил все файлы в папку /var/www, импортировал БД.
Кое-что перестало работать: нажатие кнопок отправляет в следующую страницу только часть данных и поэтому следующая страница выглядит не так как нужно. А под Windows всё ровно.
Подскажите, пожалйста, в чём может быть причина и как её решить!
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Перенос сайта с Windows на Linux"  +1 +/
Сообщение от Slavaz (ok) on 18-Сен-09, 13:43 
>Здравствуйте! Я новичок, сайт писал на php, ОС Windows XP, использовал VertrigoServ[Apache+MySQL].
>Сайт предназначен для служебного использования информации из базы данных на MySQL.
>Сайт готов, теперь необходимо "перенести" его на сервер Debian/GNU Linux.
>Залил все файлы в папку /var/www, импортировал БД.
>Кое-что перестало работать: нажатие кнопок отправляет в следующую страницу только часть данных
>и поэтому следующая страница выглядит не так как нужно. А под
>Windows всё ровно.
>Подскажите, пожалйста, в чём может быть причина и как её решить!

очень похоже на симптомы одной из самых распространённых ошибок типа "подземного стука".

Опишите более подробно условия задачи.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Перенос сайта с Windows на Linux"  +/
Сообщение от searcher_3000 (ok) on 18-Сен-09, 14:08 
После нажатия кнопки форма методом 'post' отправляет данные. При загрузке страницы проверяются полученные данные, и в зависимости от них страница выглядит по-разному.
А после переноса: сколько ни нажимай на кнопки - страница сбрасывается к исходному виду.

if(($_POST[knopka_user]!='3' AND $gr=='user')
       OR ($_POST[knopka_s]!='' AND $gr=='s' AND $_POST[knopka_s]!='1')
       OR ($gr=='sisadmin')
       OR ($gr=='mail_admin')
    ){
$query_1="SELECT * FROM filial ORDER BY filial";
$result_1=mysql_query($query_1);
$id=mysql_num_rows($result_1);
echo "Подразделение<FORM method='post'>";
echo "<SELECT SINGLE NAME=podrazd SIZE='1'>";
echo "<OPTION value=''>";
for($i=0;$i<$id;$i++){
$row_1=mysql_result($result_1,$i,filial_id);
$row_2=mysql_result($result_1,$i,filial);
if ($_POST[podrazd]==$row_1)
{
$s=" SELECTED";
}
else
{
$s="";
};
print "<OPTION value='".$row_1."'".$s.">".$row_2;
};
print "</SELECT><input type='submit' value='Выбрать'>
<input type='hidden' name='knopka_user' value='".$knopka_user."'>
<input type='hidden' name='knopka_s' value='".$knopka_s."'>

<input type='hidden' name='polzovatel' value='".$user."'>
<input type='hidden' name='gruppa' value='".$gr."'>
</form>"; };

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Перенос сайта с Windows на Linux"  +/
Сообщение от Slavaz (ok) on 18-Сен-09, 14:13 
что в логах апача при этом происходит?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Перенос сайта с Windows на Linux"  +/
Сообщение от searcher_3000 (ok) on 18-Сен-09, 14:37 
Прошу прощения, я понял в чём тут дело!
Под Windows работает и так:
print "</SELECT><input type='submit' value='Выбрать'>
<input type='hidden' name='knopka_user' value='".$knopka_user."'>
<input type='hidden' name='knopka_s' value='".$knopka_s."'>

<input type='hidden' name='polzovatel' value='".$user."'>
<input type='hidden' name='gruppa' value='".$gr."'>
</form>"; };
А под Linux только вот так:
print "</SELECT><input type='submit' value='Выбрать'>
<input type='hidden' name='knopka_user' value='".$_POST[knopka_user]."'>
<input type='hidden' name='knopka_s' value='".$_POST[knopka_s]."'>

<input type='hidden' name='polzovatel' value='".$user."'>
<input type='hidden' name='gruppa' value='".$gr."'>
</form>"; };

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Перенос сайта с Windows на Linux"  +1 +/
Сообщение от Slavaz (ok) on 18-Сен-09, 14:51 
>Прошу прощения, я понял в чём тут дело!
>Под Windows работает и так:
><input type='hidden' name='knopka_user' value='".$knopka_user."'>
>А под Linux только вот так:
><input type='hidden' name='knopka_user' value='".$_POST[knopka_user]."'>

Нет, не поняли в чём дело :)
Просто нашли симптомы, но сама болезнь не вылечена.

А вообще-то... с учётом того, что автоматические глобальные переменные использовать категорически не рекомендуется, можно сказать что Linux вылечил :)

Проблема в параметре
register_globals = Off

в файле /etc/php.ini
В Windows этот параметр равен On.

Но лучше не меняйте в Linux этот параметр - измените исходники. Использование глобальных переменных - это зло с весёлой отладкой и неожиданными багами.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Перенос сайта с Windows на Linux"  +/
Сообщение от searcher_3000 (ok) on 18-Сен-09, 15:55 
Спасибо! Учту в будущем.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Перенос сайта с Windows на Linux"  +/
Сообщение от Andrey Mitrofanov on 18-Сен-09, 15:49 
Для тех, кто силился увидеть разницу -- но не смог! ;)))

$ diff -u Под\ Windows\ работает\ и\ так  А\ под\ Linux\ только\ вот\ так |filterdiff
--- Под Windows работает и так  2009-09-18 15:44:29.055742980 +0400
+++ А под Linux только вот так  2009-09-18 15:44:29.055742980 +0400
@@ -1,6 +1,6 @@
print "</SELECT><input type='submit' value='Выбрать'>
-<input type='hidden' name='knopka_user' value='".$knopka_user."'>
-<input type='hidden' name='knopka_s' value='".$knopka_s."'>
+<input type='hidden' name='knopka_user' value='".$_POST[knopka_user]."'>
+<input type='hidden' name='knopka_s' value='".$_POST[knopka_s]."'>

<input type='hidden' name='polzovatel' value='".$user."'>
<input type='hidden' name='gruppa' value='".$gr."'>

..."Привыкли руки к топорам." А глаза к пачтам!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру