Помощь - Поиск - Пользователи - Календарь
Полная версия: php4 - end of life
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
Страницы: 1, 2, 3
Arseny, Web Style
FuRiSoN, вся проблема в том, что на свете есть далеко не только "нормально уважающие себя программисты", которые хостят только что написанный код.

Полным-полно клиентов со старыми сайтами, написанными сто лет назад.
levb
Цитата
Писать можно и под 5-ю, но не забывать о том что приложение должно быть совместимо с 4-й.
Зачем?
Зачем упираться в совместимость с тем, что не будет развиваться?
Хостеров с PHP5 сейчас более чем предостаточно.

Я уже не говорю о том, что в 4-ом нет многих вкусностей 5-ки.

Цитата
Полным-полно клиентов со старыми сайтами, написанными сто лет назад.
Какие проблемы?
Поставьте им отдельный сервер с 4-ой - и все дела.
FuRiSoN
Цитата(Artur @ 20.07.2007, 10:24) *

Писать можно и под 5-ю, но не забывать о том что приложение должно быть совместимо с 4-й.


Ну смотри возьму к примеру себя: Лично я пишу на PHP 5.2.3 но я не использую новые функции PHP5.
Получается я пишу по стандартам PHP4. Но так же я знаю что на 5 версии у меня мой скрипт работает и на 4 после тестирования.
Это если я пишу для всех.

Если заказчик заказывает скрипт указывает координаты хоста и т.д я уже заранее знаю что на том хостинге стоит PHP5 то я использую вкусности PHP5.
Тот же самый ООП.

Цитата(Arseny, Web Style @ 20.07.2007, 10:24) *

FuRiSoN, вся проблема в том, что на свете есть далеко не только "нормально уважающие себя программисты", которые хостят только что написанный код.

А разве их можно назвать программистами?
Нормальный программист свой скрипт по тестит у себя дома раз 100 и уж потом выложит в свет.
Arseny, Web Style
Цитата(FuRiSoN @ 20.07.2007, 10:59) *

А разве их можно назвать программистами?


А разве мы про то, как кого назвать?

Цитата
Нормальный программист свой скрипт по тестит у себя дома раз 100 и уж потом выложит в свет.


Ну вот он протестировал, выложил. Много лет назад. И уволился. А клиент есть, и хочет чтобы его сайт работал.
FuRiSoN
Цитата
А разве мы про то, как кого назвать?

Я иммел в виду то что таких лидей нельзя назвать программистами. И заказывать у них скрипты крайне не рекомендуется.

Цитата(Arseny, Web Style @ 20.07.2007, 11:01) *

Ну вот он протестировал, выложил. Много лет назад. И уволился. А клиент есть, и хочет чтобы его сайт работал.

За много лет можно сайт поменять не 1 раз.
Если сайт был заказан у нормальной студии которая существует не первый год то они должны переделать.
levb
Цитата
Если сайт был заказан у нормальной студии которая существует не первый год то они должны переделать.
Не должны.

Перестанет развиваться != перестанет работать.
Скрипты требующие именно PHP4 будут и дальше прекрасно работать там, где PHP4 установлен.

По сути, беседа ведётся ни о чём.
FuRiSoN
Цитата(levb @ 20.07.2007, 11:13) *

По сути, беседа ведётся ни о чём.



Всё правильно.
Как мы не спорили, а PHP4 уходит в прошлое. Как было с PHP3 так и будет с PHP4.
Тоже самое ждёт и 5 версию.
Прогресс развивается и Люди пишущие на PHP4 только тормозят его.
Artur
Цитата(FuRiSoN @ 20.07.2007, 09:59) *

Нормальный программист свой скрипт по тестит у себя дома раз 100 и уж потом выложит в свет.


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

Цитата(FuRiSoN @ 20.07.2007, 10:17) *

Прогресс развивается и Люди пишущие на PHP4 только тормозят его.


Лично я никогда не задумывался над версиями различных трансляторов и компиляторов, я пишу на PHP, какая версия стоит я под нее и ориентируюсь, ну а если новая верся PHP не поддерживает все функции старой, либо что-то некорректно работает, то что было написано в 4-й, значит PHP5 еще не доведен до ума, либо это уже можно называть не PHP, все что писалось ранее на PHP, должно корректно работать в новых версиях так же без всяких глюков.
Если есть какая-то не совместимость в новой версии со старой, PHP для меня уже перестает быть PHP, двигаясь вперед нельзя разрушать ее основу.
Arseny, Web Style
Цитата(FuRiSoN @ 20.07.2007, 11:06) *

Я иммел в виду то что таких лидей нельзя назвать программистами. И заказывать у них скрипты крайне не рекомендуется.
За много лет можно сайт поменять не 1 раз.
Если сайт был заказан у нормальной студии которая существует не первый год то они должны переделать.


Я всегда говорил, что программисты-разработчики не понимают положения клиентов. smile.gif

1. Называть вы их можете хоть горшками с сыром. Факт остается фактом: далеко не у всех прямо свежайший только что написанный код. Тестировали его когда-то, или не тестировали - неважно, это было давно. Сейчас сайт (работающий) есть, а программиста-разработчика, может, и нету.

И рекомендовать вы можете клиенту что угодно. Он вас слушать не будет. Ему это неинтересно. У него есть сайт, на котором он торгует своим товаром. И ему надо чтобы он работал. И ему непонятно, почему вдруг он перестанет работать лишь по той причине, что кто-то решил, что это недостаточно прогрессивно.

2. Это Вы так думаете, что можно поменять не один раз. А многие не меняют сайты годами. Особенно если это касается не дизайна и контента, а движка.
Зачем его менять? Вот есть сайт, вот на нем прайс на колбасу. smile.gif Все работает.

3. Я очень рад, что у Вас такая нормальная студия, которая всем своим клиентам бесплатно переделывает сайты, написанные много лет назад. Поверьте, что далеко не все такие.
Студии могут закрываться, разработчики могут увольняться или даже эмигрировать. А некоторые даже, представьте себе, за переделку просят денег. smile.gif
levb
Цитата
Я всегда говорил, что программисты-разработчики не понимают положения клиентов.
Не все.

Каждой задаче - свой инструмент.
Так уж сложилось, что PHP4 - это уже вчерашний день, нравится этот факт или нет, но это так.
Безусловно, можно вылизывать свои приложения на PHP4, но это тупик.
Arseny, Web Style
Да я не про вылизывание приложений. Понятно, что если есть разрабатываемое или сопровождаемое приложение, то можно его перевести на PHP5, это, как правило, несложно.

Я про те приложения, которые были сделаны уже давно и сейчас нуждаются в хостинге.

Понятно, что можно сделать отдельно сервер(а) под 4 и отдельно под 5, так и делаем.

Я критикую подход "4 вчерашний день, все устарело, все выкинуть-переделать, нормальные программисты все давно перешли на 5". Программисты, может, и перешли. А вот старые приложения сохранились, и хостинг им нужен.
FuRiSoN
Цитата(Arseny, Web Style @ 20.07.2007, 14:40) *

Я критикую подход "4 вчерашний день, все устарело, все выкинуть-переделать, нормальные программисты все давно перешли на 5". Программисты, может, и перешли. А вот старые приложения сохранились, и хостинг им нужен.


Знаешь сейчас в нынешнее время есть столько скриптов(программ) альтернатив которые смогут работать на 5 версии.
levb
Цитата
4 вчерашний день,
Это факт.
Цитата
все устарело, все выкинуть-переделать, нормальные программисты все давно перешли на 5". Программисты, может, и перешли. А вот старые приложения сохранились, и хостинг им нужен.
Здесь я полностью с Вами солидарен.

Просто я не вижу причин называть разработчиков PHP клоунами за то, что они отказались от дальнейшего развития 4-ки спустя 3 года после выхода 5-ой версии.
Artur
Цитата(levb @ 20.07.2007, 13:52) *

отказались от дальнейшего развития 4-ки спустя 3 года после выхода 5-ой версии.


Развите 4-ки уже закончено, значит разработчики решили что оно развито дальше не куда, а вот 5-й PHP еще ждет долгий путь развития и тестирования приложений для него.
levb
Цитата
5-й PHP еще ждет долгий путь развития и тестирования приложений для него.
Приложения под PHP5 не тестируются (для этого достаточно было нескольких лет), а успешно создаются и выходят на рынок.
Boris A Dolgov
оффтоп
А вот мне всегда было смешно - как написанное на пхп можно назвать приложением? Безперспективный язык без особых возможностей. Я понимаю, можно нанем написать простенькую гостевую, но вот люди, который пишут на этом языке двидки форумов, новостей мне не понятны. Для этих целей asp.net больше подходит. Или perl на худой конец...
FuRiSoN
Цитата(Boris A Dolgov @ 20.07.2007, 15:37) *

оффтоп
А вот мне всегда было смешно - как написанное на пхп можно назвать приложением? Безперспективный язык без особых возможностей. Я понимаю, можно нанем написать простенькую гостевую, но вот люди, который пишут на этом языке двидки форумов, новостей мне не понятны. Для этих целей asp.net больше подходит. Или perl на худой конец...

А ты изучи PHP, PERL, ASP
Поймёшь разницу и почему многие выбирают имено PHP а не другие.
levb
Цитата
А вот мне всегда было смешно - как написанное на пхп можно назвать приложением?
Мне всегда было смешно - как можно лезть в каждую тему имея посредственные знания.

Ваш пост:
Цитата
Что касается ООП - соглашусь с eдogs, то, что ООП, что есть в пхп назвать ООП тяжело. Это просто структуры данных, ни наследования, ни инапсуляции (на должном уровне)... Хотя возможно книга у меня лежит и по пхп4.
наглядно демонстрирует насколько Вы ориентируетесь в предмете трэда.

Нравиться Вам писать на ASP или PERL - дело Ваше.
А то, что Вы не видели серьёзных приложений написанных на PHP, так это потому, что не там смотрите.

Цитата
Я понимаю, можно нанем написать простенькую гостевую, но вот люди, который пишут на этом языке двидки форумов, новостей мне не понятны. Для этих целей asp.net больше подходит. Или perl на худой конец...
lol
Arseny, Web Style
Цитата(FuRiSoN @ 20.07.2007, 14:46) *

Знаешь сейчас в нынешнее время есть столько скриптов(программ) альтернатив которые смогут работать на 5 версии.


Ну вот точно трагическое непонимание.

Вот представь: ты - клиент. Дядя с рынка. Колбасой торгуешь. Слышал ты, что интернет - это круто. И решил сделать себе сайтик, чтобы свою колбасу продавать. Ты знать не знаешь, что такое PHP и какие там версии. Ты иногда по выходным Explorer запускаешь и почту читать умеешь, все.

И вот ты заказал кому-то сайт. Сделали. Работает. Прайс можно обновить, если зайти в админский раздел (тебя научили). Заказы на email приходят. Все отлично.

И про какие скрипты-альтернативы что такому дяде можно объяснить?
Да что там - кто будет платить за переделку?
MIRhosting.com
Arseny, Web Style, ну в чем проблема, для этого существуют цивилизованные способы, тот же VPS. Но ставить по умолчанию php4 сейчас на хостинг это тоже самое что ставить 4.0 mysql и все это на redhat 9.
Да, есть проекты работающие и на php3, заточенные под использование mysql3, и т.п. но это не значит что это большинство и стоит на это равнятся.
Речь идет только про это.

А то что php5 более производительный, не говоря про улучшенную функциональность - это вобщем факт, который подвергать сомнению даже как-то неудобно smile.gif

Цитата
Развите 4-ки уже закончено, значит разработчики решили что оно развито дальше не куда, а вот 5-й PHP еще ждет долгий путь развития и тестирования приложений для него.

Artur, при всем уважение, но это же бред. По такой логике нам всем надо жить на старых версиях всего, т.к. это не развивается -> поэтому наиболее стабильно. Не поэтому smile.gif
php5 уже давно развился, уже там 3 подветка идет, сначала было 5.0, потом 5.1, сейчас 5.2.
FuRiSoN
Люди спорить можно вечно всё равно мы не в силах изменить развивающийся прогресс.

Разработчики отказываются поддержки из за того что на кану выход PHP6.
Они не видят причин останавливаться на 4 версии ради тех 100 людей которые не могут обновить сайт на 5 версию.

И не нам решать плохо это или нет.
Что бы вы не говорили а в конце концов вы перейдёте на новые версии.
Хоть не сейчас но когда нибуть это случиться.
Artur
Цитата(MIRhosting.com @ 20.07.2007, 15:13) *

php5 уже давно развился, уже там 3 подветка идет, сначала было 5.0, потом 5.1, сейчас 5.2.


Для меня развился выглядит только так PHP 5.x Final, а пока эти ветки только показывают нам о том что его дорабатывают до ума, в 4-ку видно не было вложены те функции, которые присутствуют в 5-ке, поэтому ее дольнейшее развитие зашло в тупик или как я выразился закончилось, правильно оно ушло в прошлое, но еще не в такое прошлое чтобы можно было твердо сказать прощай PHP 4 и здравствуй PHP5

Цитата(FuRiSoN @ 20.07.2007, 15:23) *

Что бы вы не говорили а в конце концов вы перейдёте на новые версии.


"конец концов" никому не известен, быть может за мою короткую жизнь мне так и не понадобится PHP5 для моих скриптов или придожений, которые пока не плохо себя чувствуют на PHP 4, не ужели на PHP5 команда print "Hello World!" выполняется лучше или быстрее чем на PHP4 ??? smile.gif думаю нет, поэтому мое мнение, PHP5 скорей всего будет хорош только своими новшествами, которые не всем нужны, не более того.
levb
Для print "Hello World!" достаточно и PHP3
Artur
Цитата(levb @ 20.07.2007, 15:34) *

Для print "Hello World!" достаточно и PHP3


Да вы меня не так поняли, если брать только print "Hello World!", то PHP вообще не нужен, это я простейшую команду для сравнения назвал, ведь PHP5 это тот же 4-й, в который напичкали всякого нового, и теперь ветками 5.xx будут его постоянно обновлять. smile.gif
levb
Цитата
и теперь ветками 5.xx будут его постоянно обновлять.
Обновляется сам интерпретатор - оптимизируется производительность, убираются баги и т.п. А код от ветки к ветке прекрасно работает.

Я не призываю ни кого использовать PHP5 - каждый пишет на том, что ему ближе.
В конце концов, качество приложения зависит от того, кто его создавал и как, а не от того на чём.

Просто аргументы тут звучат весьма слабые.
Boris A Dolgov
>А ты изучи PHP, PERL, ASP
Поймёшь разницу и почему многие выбирают имено PHP а не другие.
Изучил. И выбрал PERL и ASP.
>А код от ветки к ветке прекрасно работает.
И PHP 4.3 -> 4.4 для IPB 1.2 - сему подтверждение =)
FuRiSoN
Цитата
>А ты изучи PHP, PERL, ASP
Поймёшь разницу и почему многие выбирают имено PHP а не другие.
Изучил. И выбрал PERL и ASP.


Ну выбирать тебе.

Лично я выбрал PHP из за того что по функциональности он не уступает ASP, а даже гдето превосходит.
По скорости он обогнал PERL и ASP.
По простоте он обогнал PERL. С ASP не могу сказать оба простые языка.
Вот и делаем выводы где + и где -.

Цитата
И PHP 4.3 -> 4.4 для IPB 1.2 - сему подтверждение =)

Снова упираемся в прошлое.

Когда был IPB 1.2 ??
Сейчас уже 2.х.х вышли.
И снова вы стоит на месте когда другие развиваются.
Boris A Dolgov
1. Стою не я а клиент. А любой клиент - клиент.
Цитата
Ну выбирать тебе.

Лично я выбрал PHP из за того что по функциональности он не уступает ASP, а даже гдето превосходит.
По скорости он обогнал PERL и ASP.
По простоте он обогнал PERL. С ASP не могу сказать оба простые языка.
Вот и делаем выводы где + и где -.

php превосходит по функ. asp.net? не смешите меня.
PHP превосходит по скорости PERL? опять де не смешите меня. Было множество тестов, где все доказано. На том же перле регекспы работают быстрее.
Насчет простоты - не спорю.
Что касается asp - мы наверно о разных языках говорим, я о asp.net а Вы о asp.
proff
Цитата(MIRhosting.com @ 20.07.2007, 16:13) *

А то что php5 более производительный, не говоря про улучшенную функциональность - это вобщем факт, который подвергать сомнению даже как-то неудобно smile.gif

А я подвергну. У одного клиента после апдейта до PHP5 начинаются жуткие тормоза.

P.S. К сравнению PHP и ASP.NET: "hello world" на PHP будет быстрее, а что-то крупное - смотря как написать, но на ASP.NET проще сделать более быстрый код.
deMone
Цитата
php превосходит по функ. asp.net? не смешите меня.

понимаю, что оффтоп, но я уже много раз, кстати, слышал, что asp.net якобы мощнее. докажите, пожалуйста. на фактах.
proff
Цитата(deMone @ 20.07.2007, 18:03) *

понимаю, что оффтоп, но я уже много раз, кстати, слышал, что asp.net якобы мощнее. докажите, пожалуйста. на фактах.

В ASP.NET можно юзать все возможности полноценных .NET приложений (конечно если настройки безопасности позволяют)
levb
Цитата
На том же перле регекспы работают быстрее.
И что с этого?
Не одними регекспами всё решается.

Цитата
В ASP.NET можно юзать все возможности полноценных .NET приложений
Есть и обратная сторона медали - Вы сами ограничиваете себя только Win-платформой.

Повторюсь ещё раз - важно как написан код, а не на чём.
Можно написать конфетку на PERL, ASP etc и полную лажу на PHP. Равно как и наоборот.

К сожалению, одно из основных преимуществ PHP - его простота, одновременно является и его основным недостатком.
Поскольку появилось великое множество криворучек, неимеющих малейшего представления о принципах и культуре программирования, но называющих себя программистами после прочтения нескольких самоучителей. Способных только ссылаться на какие-то там тесты по производительности, но неучитывающих такие нюансы как, например, что кроме скорости выполнения кода, ещё есть такие понятия, как читабельность кода и скорость его разработки. Неспособных понять, что PERL в большей степени системный ЯП, чем ЯП для web-приложений.


Убедительная просьба: данный трэд посвящён PHP4 и PHP5, не стоит сюда приплетать дугие ЯП.
proff
ну я и написал: "смотря как написать"
MIRhosting.com
Цитата(proff @ 20.07.2007, 15:47) *

А я подвергну. У одного клиента после апдейта до PHP5 начинаются жуткие тормоза.


Цитата
ну я и написал: "смотря как написать"
Artur
http://www.sbet.net/index.php5
http://www.sbet.net/index.php

вот вам и PHP5, посмотрите и увидите уже глюки в PHP5, хотя в PHP4 на странице все Ok smile.gif
levb
Цитата
вот вам и PHP5, посмотрите и увидите уже глюки в PHP5, хотя в PHP4 на странице все Ok
Это не глюк.
Контент отдаётся в utf-8, соответственно и выводится в utf-8, хотя charset=windows-1251.

Как правило, лечиться 1-2 строками.
Artur
Цитата(levb @ 20.07.2007, 20:03) *

Это не глюк.
Контент отдаётся в utf-8, соответственно и выводится в utf-8, хотя charset=windows-1251.


вот контент который считывается и выводится на страницу, смотрите сами, кодировка там ANSI, а не utf-8
http://news.yandex.ru/software.rss

Цитата(levb @ 20.07.2007, 20:03) *

Как правило, лечиться 1-2 строками.


если вы о iconv("UTF-8","windows-1251", $str); то воплне хватает одной строчки smile.gif

PS: эта функция не используется, как пример показал.
Boris A Dolgov
>И что с этого?
>Не одними регекспами всё решается.
остальное тоже, это для примера
>Есть и обратная сторона медали - Вы сами ограничиваете себя только Win-платформой.
Не знал, что Вы презираете Novell sad.gif
>как читабельность кода
Не смешите меня. Самый читабельный код у c#.
И желательно не оскорблять.

--
Теперь к теме.
На своей практике видел только один скрипт, которому не понравился переход 4->5.
(оффтоп)При этом, когда выходит новый asp.net надо конвертировать все мастером который думает полчаса над мелким приложением и после этого долго исправлять его ошибки.
За сим удаляюсь, ибо, как Вы поняли, не являюсь ярым поклонником пхп =)
levb
Цитата
если вы о iconv("UTF-8","windows-1251", $str); то воплне хватает одной строчки
я не об iconv, хотя этот вариант также возможен.

Цитата
остальное тоже, это для примера
Производительность в наше время не самый главный фактор.

Цитата
Не смешите меня. Самый читабельный код у c#.
1. Данная ветка о PHP, упоминание с# не к месту.
2. Есть ЯП, у которых код читабельнее с#, не стоит быть столь категоричным в суждениях.
3. Вы знаете достаточно много web-приложений написанных на с#?
Boris A Dolgov
1. Возможно, но мы заговорили тут уже о других ЯП...
2. Да, есть, но из опять же обсуждаемых тут (Perl, ASP.NET, PHP) мне он представляется наиболее читабельным.
3. Да. Много. Примеры? asp.net, microsoft.com, sql.ru, gotdotnet.ru, parking.ru, parked.ru, можно ещ много примеров привести.
4. Можете сказать, что мне главнее, когда текст, который я написал и опубликовал парсится на "плохие символы" не 10 секунд а 1?
MIRhosting.com
Цитата(Artur @ 20.07.2007, 18:55) *

http://www.sbet.net/index.php5
http://www.sbet.net/index.php

вот вам и PHP5, посмотрите и увидите уже глюки в PHP5, хотя в PHP4 на странице все Ok smile.gif

Не понял, причем тут язык. Это не глюк php5, я надеюсь что Вы это понимаете и просто не правильно выразились.
levb
Цитата
2. Да, есть, но из опять же обсуждаемых тут (Perl, ASP.NET, PHP) мне он представляется наиболее читабельным.
Sorry, спутал C# с С++.

Цитата
Можете сказать, что мне главнее, когда текст, который я написал и опубликовал парсится на "плохие символы" не 10 секунд а 1?
Вопрос не совсем понятен по своей сути.
Если у Вас регексп на PHP выполняется в 10 раз дольше аналогичного на PERL, значит Вы что-то не так делаете.

Бывают задачи, когда на первое место выходит не производительность (которую достаточно легко повысить наращиванием вычислительной мощности), а скорость разработки и удобство поддержки проекта. А в этом отношении PERL значительно уступает PHP, и никакие регекспы не помогут.

Поговорите с людьми пишущими, скажем, на ZendFramework и т.п. или на Ruby on Rails (прекрасный framework), если таковые имеются в Вашем окружении. Они объяснят Вам, что я имею в виду, поскольку формат форума не располагает к пространному общению.
proff
MIRhosting.com
Я и не говорил, что у него скрипты хорошо написаны. Но факт налицо: PHP 5 не всегда производительней.
levb
Цитата
Но факт налицо: PHP 5 не всегда производительней
Если в Феррари залить АИ72, сомневаюсь, что она будет резво ездить.
Artur
Цитата(MIRhosting.com @ 20.07.2007, 21:01) *

Не понял, причем тут язык. Это не глюк php5, я надеюсь что Вы это понимаете и просто не правильно выразились.



Тогда чей же это глюк? Кодировка ANSI идентична win1251, все должно выводится нормально.
код обеих страниц полностью идентичен, почему в PHP4 интерпретаторе кодировка выводится нормальная, а в PHP5 уже крякобрязы?

Вот только из-за этого клиенты откажутся от PHP5, особенно те, которые в программировании вовсе не смыслят, им нужно что, нормальная работа приложения, а если начинаются проблеммы из-за которых клиент уже должен кого-то дергать, сами понимаете это будет раздражать как клиента, так и того хостера к которому он обратится, клиент будет уверять что на другом хостинге все нормально, а у этого крякобрязы, и что, типа хостер виноват и должен сам устранять проблемы клиента, в которых клиент ни бум-бум.
MIRhosting.com
Цитата(Artur @ 21.07.2007, 07:49) *

Тогда чей же это глюк? Кодировка ANSI идентична win1251, все должно выводится нормально.
код обеих страниц полностью идентичен, почему в PHP4 интерпретаторе кодировка выводится нормальная, а в PHP5 уже крякобрязы?

Это сложно сказать не видя код. Насколько я могу судить, код подключается из внешнего файла или url`а. Осмелюсь предположить, что там изначально неправильно написан код, из-за этого эти проблемы там и видны.

Как бы то ни было, называть это глюком версии - это сильно. Это глюк кода. Ознакомьтесь со списком изменений, которые могут дать несовместимость. Ничего подобного там и близко нет.

Цитата
Вот только из-за этого клиенты откажутся от PHP5, особенно те, которые в программировании вовсе не смыслят, им нужно что, нормальная работа приложения, а если начинаются проблеммы из-за которых клиент уже должен кого-то дергать, сами понимаете это будет раздражать как клиента, так и того хостера к которому он обратится, клиент будет уверять что на другом хостинге все нормально, а у этого крякобрязы, и что, типа хостер виноват и должен сам устранять проблемы клиента, в которых клиент ни бум-бум.

Больше года назад все linux сервера были переведены на 5 версию, в итоге только у одного клиента возникла проблема, которую мы не смогли решить. Просто использовался устаревшася версия, которую рано или поздно все равно бы взломали и ее надо было обновлять, а клиент не хотел т.к. у него там моды всякие стоят.

С новыми клиентами подобных проблем вообще ни разу не возникало.

php4 ставим только по специальным запросам на vps/dedicated, но перед этим объясняем что это не желательно. Как крайний вариант - ставить 2 версии, основную - пятую.
levb
Цитата
Кодировка ANSI идентична win1251, все должно выводится нормально.
Текст выводится в utf.
Но не видя кода, сказать почему невозможно.

Это глюк скрипта, а не PHP, который честно отдаёт текст, полученный в utf.

Artur
Цитата(levb @ 21.07.2007, 10:22) *

Но не видя кода, сказать почему невозможно.


Код вывода текста:
Код
<?
require("rss.php");
$rssurl = "http://news.yandex.ru/software.rss";
$cRss = new rss($rssurl);
$item = $cRss->GetArrayItem();
    for($i=0;$i<count($item);$i++)
    {
        if(!$item[$i]) break;
        $url = $item[$i]['link'];
        echo "<a href=\"/news/".($i+1)."/\" title=\"".$item[$i]['title']."\"><B>".$item[$i]['title']."</B></a><BR>";
    }
?>


Код rss.php :
Код
<?
class rss{
    var $sUrl;
    var $sBuff;
    var $rXml_parser;
    var $aParentField;
    var $aCurrrentField;
    var $aCurrentNamespace;
    var $aRss;
    var $aItems;
    var $aChannel;
    function rss($url=""){
        if(!isset($url) || empty($url)) return;
        $this->aChannel = array();
        $this->aItems = array();
        $this->aRss = array($this->aChannel, $this->aItems);
        $this->aParentField = array();
        $this->xml_parser = @undef;
        $this->sUrl = strval($url);
        $this->GetUrl();
        $this->ParseRss();
    }
    function GetUrl(){
        $this->sBuff = @join("", file($this->sUrl));
    }
    function ParseRss(){
        $this->rXml_parser = xml_parser_create();
        xml_set_object($this->rXml_parser, &$this);
        xml_set_element_handler($this->rXml_parser, "starttag", "endtag");
        xml_set_character_data_handler($this->rXml_parser, "cdata");
        if (!xml_parse($this->rXml_parser, $this->sBuff)) return;
        xml_parser_free($this->rXml_parser);
        $this->aRss = array("channel" => $this->aChannel, "items" => $this->aItems);
    }
    function GetArrayRss(){
            return $this->aRss;
    }
    function GetChannelVal($sVal){
            return $this->aChannel[$sVal];
    }
    function GetArrayChannel(){
            return $this->aChannel;
    }
    function GetArrayItem(){
            return $this->aItems;
    }
    function starttag($rXml_parser, $tag, $attributes){
        $tag        = strtolower( $tag );
        $namespace      = false;
        if ( strpos( $tag, ':' ) ) {
            list($namespace, $tag) = split( ':', $tag, 2);
        }
        $this->aCurrrentField = $tag;
        if ( $namespace and $namespace != 'rdf' ) {
            $this->aCurrentNamespace = $namespace;
        }
        if ( $tag == 'channel' ) {
            array_unshift( $this->aParentField, 'channel' );
        }elseif ( $tag == 'items' ) {
            array_unshift( $this->aParentField, 'items' );
        }elseif ( $tag == 'item' ){
            array_unshift( $this->aParentField, 'item' );
        }elseif ( $tag == 'cdatainput' ) {
            array_unshift( $this->aParentField, 'cdatainput' );
        }elseif ( $tag == 'image' ) {
            array_unshift( $this->aParentField, 'image' );
        }
    }
    function endtag($rXml_parser, $tag){
        $tag = strtolower($tag);
        if ( $tag == 'item' ) {
            $this->aItems[] = $this->current_item;
            $this->current_item = array();
            array_shift( $this->aParentField );
        }elseif ( $tag == 'channel' or $tag == 'items' or $tag == 'cdatainput' or $tag == 'image' ) {
            array_shift( $this->aParentField );
        }
        $this->aCurrrentField = '';
        $this->aCurrentNamespace = false;
    }
    function cdata($rXml_parser, $cdata){
        if ( $this->aParentField[0] == $this->aCurrrentField || !$this->aCurrrentField ){
            return;
        }elseif ( $this->aParentField[0] == 'channel') {
            if ( $this->aCurrentNamespace ) {
                $this->aChannel[ $this->aCurrentNamespace ][ $this->aCurrrentField ] .= $cdata;
            }else{
                $this->aChannel[ $this->aCurrrentField ] .= $cdata;
            }
        }elseif ( $this->aParentField[0] == 'item' ){
            if ( $this->aCurrentNamespace ) {
                $this->current_item[ $this->aCurrentNamespace ][ $this->aCurrrentField ] .= $cdata;
            }else{
                $this->current_item[ $this->aCurrrentField ] .= $cdata;
            }
        }elseif ( $this->aParentField[0] == 'cdatainput' ) {
            if ( $this->aCurrentNamespace ) {
                $this->cdatainput[ $this->aCurrentNamespace ][ $this->aCurrrentField ] .= $cdata;
            }else{
                $this->cdatainput[ $this->aCurrrentField ] .= $cdata;
            }
        }elseif ( $this->aParentField[0] == 'image' ) {
            if ( $this->aCurrentNamespace ) {
                $this->image[ $this->aCurrentNamespace ][ $this->aCurrrentField ] .= $cdata;
            }else{
                $this->image[ $this->aCurrrentField ] .= $cdata;
            }
        }
    }
}
?>


Вот написал еще код http://www.sbet.net/get.php5
Код
<?
echo join("",file("http://news.yandex.ru/software.rss"));
?>


Здесь кодировка уже выводится нормальная, вот почему выводятся крякобрязы при парсинге xml, никак не пойму.
levb
Цитата
вот почему выводятся крякобрязы при парсинге xml, никак не пойму
Потому что http://news.yandex.ru/software.rss отдаёт текст в unicode.

Парсер честно молотит то, что Вы ему скормили.
Artur
Цитата(levb @ 21.07.2007, 10:47) *

Парсер честно молотит то, что Вы ему скормили.


Действительно, в браузере проверил выдает UTF-8
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.