Автор Тема: Глюки? Если да, то чьи?  (Прочитано 7101 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
Глюки? Если да, то чьи?
« : 04 Марта 2002, 16:06:33 »
Приветствую вас, уважаемые господа.

Начну с того, что я не программист, хотя иногда приходится разбирать некоторые вопросы по этой специальности.

Ситуация:
Server: Win2000SE + Apache/1.3.20 +  PHP 4.x.x (про иксы будет повествование дальше) + MySQL 3.23.46
На этом безобразии вертится некий сайт (пока в тестовом режиме, но уже пора переводит его в люди), где есть скрипт, работающий по схеме:
1. пользователь делает из прайс-листа csv (около 4000 позиций)
2. указывает где лежит прайс, жмет кнопку
3. скрипт обрабатывает запрос что-то с ним делает (что конкретно - не знаю)
4. пользователю выводится сообщение, что все ОК прайс выкачан без ошибок и кнопочка ОБНОВИТЬ
5. скрипт заливает прайс в базу

Вот тут начинается свистопляска с версиями PHP (судя по тестам, что я проводил именно с ними).  У прайса куча категорий и подкатегорий, часть из них на английском, с ними все в порядке, НО вот с русскими названиями и пунктами творится нечто ужасное...
Случайным образом отрезается произвольное количество
русских букв с начала или конца слова. Я не оговорился - именно случайным, т.к. при одной и той же версии PHP при нескольких закачках количество, буква и место (начало либо конец. Про середину не знаю, не замечал) меняются =(((
Еще одно положение в пользу версии о глюках именно PHP говорит тот факт, что: при установки версии 4.1.1 иногда пропадают целые слова и выпадение букв повальное; версия 4.0.6 работет лучше, но из
кетчупов получаются чупы , более лояльно к этому относится 4.0.5 версия, сначала я жаде думал, что она работает как надо и успокоиюлся (программер, что писал скрипт то же), но как оказалось это не так.. дотошный заказчик обнаружил атончики вместо батончиков в глубине одной из категорий товаров (и здесь куски опять же блуждающие, я примотрелся и нашел еще несколько нехватающих букв.

Вот и сейчас я в совершеннейшей растерянности, что делать и как выловить это т глюк. =(

На данный момент я имею: версия PHP 4.0.5 более терпима к "обрезанию" русских букв; факт выпадения букв происходит до этапа попадания данных в БД; чаще всего страдают буквы в начае слова (Б, Ч, К, но не они одни), при этой версии обычно вываливаются 1-2 буквы (т.е. первая и вторая, иногда и больше так например: Шоколад превращался в Лад); в пунктах где первыми идут цифры - буквы на своих местах; английские слова не трогаются.



Если кто сталкивался с таким или представляет сбе что это может быть и как от этого избавиться - скажите плизз.

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
Глюки mysql + php?
« Ответ #1 : 05 Марта 2002, 14:18:20 »
а на каком этапе происходит пропадание букв... при передачи в мюскл или при самом сохранении...?
попробуй сначала просто посмотреть как передаются переменные.. передавай их пхп скрипту и пусть он выводит посмотреть что там...
может мюскл глючит?

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
Глюки mysql + php?
« Ответ #2 : 05 Марта 2002, 17:49:11 »
Программер, чт описал этот скрипт проверял. до мюскла доходят уже резанные буквы =(
они выпадают где-то на уровне обработки данных пхпшным скриптом.
Я бы грешил на скрипт, но: с английскими словами все в порядке; разные версии выбрасывают разное кол-во букв; очень редко встречаются повторяющиеся выпадения; и самое главное (!) я проверил этот скрипт на машине под фрёй, выпадений букв - как не бывало, все ок.

=(  Что делать - не знаю совсем. Под юникс этот сайт перенести не получится =((((

Может кто знает как пофиксить подобные глюки пхп?

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Глюки mysql + php?
« Ответ #3 : 05 Марта 2002, 17:50:32 »
mysql настроен на win-1251?
правильная ли обработка закачки файла на сервер?
с уважением,
магистр белой магии.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Глюки mysql + php?
« Ответ #4 : 05 Марта 2002, 17:52:56 »
хм... думаем одновременно :)
так файл до сервера как доходит? битым? если его записать на диск?
с уважением,
магистр белой магии.

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
Глюки mysql + php?
« Ответ #5 : 05 Марта 2002, 18:00:15 »
Только что потестил еще раз.
MySQL все на той же машине (т.е. база лежит на машине, описаной в первом сообщении),
Apache/1.3.19 (Unix) rus/PL30.4 + PHP 4.0.5 на  FreeBSD.
Провожу аналогичную операцию и вижу что все буквы добрались в целости и сохранности. => проблема именно в PHP и именно для платформы win32.
Полностью переносить сайт на unix машину нет никакой возможности (впрочем и частичной то же из-за проблем безопасности, они стоят в разных сетках).

Это можно поправить как-нибудь? или ждать 4.1.2 под винду? ... =((((


Цитировать
mysql настроен на win-1251?


А можно эту часть подробней? =)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Глюки mysql + php?
« Ответ #6 : 05 Марта 2002, 18:15:33 »
http://www.phpdevs.com/data/22/47.html
а лучше всего - ман.
с уважением,
магистр белой магии.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Глюки mysql + php?
« Ответ #7 : 12 Марта 2002, 12:40:35 »
Написал скрипт конвертера из одного формата цсв - в другой - все работало прекрасно, но в один прекрасный день запускаю, и начались такие же траблы со съеданием букв.
все решилось рестартом апача и нескольких рефрешев (1.3.22 + php4.1.1 as module).
Евгений aka Razor,

  • Гость
PHP4.1.2 for win!
« Ответ #8 : 13 Марта 2002, 20:23:43 »
Со вчерашнего дня на php.net лежит файло!
так что ждать больше не нужно - качай и юзай, а потом расскажешь - что из этого вышло.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
:(
« Ответ #9 : 13 Мая 2002, 20:38:20 »
Такие же траблы происходят, именно на win2000 sp2 и ничего не помогает.
apache 1.3.23, php 4.2.0 (module)

а вот на старом добром 98se пашет на ура..
p.s. пробовал также версию с php4win.de
p.p.s. на php4win.de - php4ts.dll такой же как и в дистрибутиве с php.net
Евгений aka Razor,

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
=((
« Ответ #10 : 14 Мая 2002, 03:41:57 »
Нда... Кстати, на локальной машине (рабочей) стоит ХР - такая же ерунда.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Глюки mysql + php?
« Ответ #11 : 14 Мая 2002, 16:08:45 »
Забавно...

Вот два варианта, первый работает, а 2-ой - нет.

1.

<?
while(
$data fgets($fp4096)){
        
$data explode("\\t",$data);
        
$num count($data);
        ......
}
?>


2.

<?
while(
$data fgetcsv($fp1000"\\t")) {
        
$num count($data);
        .......
}
?>

Получается что ф-я fgetcsv неверно работает под NT-ями
« Последнее редактирование: 14 Мая 2002, 17:05:11 от Britva »
Евгений aka Razor,

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Глюки mysql + php?
« Ответ #12 : 14 Мая 2002, 16:13:42 »
А вот рез-т обработки 2-го варианта:

Нек-рые из них:
Цитировать

3 600 Коньков Профсоюзная п 0 0 2 16
1 550 ровицкая Серафимовича ул. п 5 7 1 12
1 250 Фил п 0 0 9 12
1 250 Любл Красикова у п 10 0 0 0
1 350 ВДН Малахитовая п 0 0 2 9
1 500 Аэропор Степана супруна п 0 0 5 12
2 700 елковская Сиреневый бульв. п 10 12 0 0
1 250 абушкинская Менжинског п 0 0 3 4
1 250 енев п 0 0 3 10
1 250 Марь Поречная п 0 0 14 14

:)
Евгений aka Razor,

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
угу
« Ответ #13 : 14 Мая 2002, 16:21:12 »
программер, что писал матерился на это дело, мне его не удалось уломать на переписывание функции скриптом...

а что с первым вариантом?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
:)
« Ответ #14 : 14 Мая 2002, 17:06:20 »
Опечатка :), второй вариант - не работает (поправил в сообщении)
А 1-ый все нормально выдает, и ничего не портит
Евгений aka Razor,

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28