- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
Сообщаю, что я пытался воскресить эту ебучую хуету на php4. Сначала пытался
воспользоваться docker'ом, чтобы заполучить нужные дистрибутивы мускуля и
пыхи, в связи с чем огрёб следующие траблы:
1) все готовые докерфайлы для четвёртой пыхи как минимум трёхлетней давности,
поэтому в них:
а. попадаются уже мёртвые GPG ключи
б. попадаются уже мёртвые ссылки на различные файлопомойки, откуда предпо-
лагалось тащить исходники или пакеты для всякого старья
через эти пункты мне удалось прорваться, и сделать живой контейнер с пыхой, но тут
2) оказалось, что проект представляет из себя настолько бессистемную кучу пыхофайлов,
непредсказуемо поименованных и состоящих из смеси вёрстки, кода и запросов к базе,
что мне понадобился отладчик xdebug либо zend debugger, в связи с чем я с радостью
узнал, что
а. xdebug вообще не сущетсвует для линукса на php4.4, если только не попытаться со-
брать его из сырцов для винды
б. zend debugger такой старый просто само по себе очень сложно найтй, и в докер его
по всей видимости никто никогда не пихал, и я не буду :)
В связи со всем вышеперечисленным, сейчас я скачиваю образ свинёрки, чтобы гонять
её в виртуалке, потому что промелькнула надежда на denver, который вроде как из ко-
робки предлагает такое говно мамонта.
Держите за меня кулачки.
Stallman 14.01.2020 00:12 # +1
Stallman 14.01.2020 00:14 # +2
HoBorogHuu_nemyx 14.01.2020 00:53 # 0
gostinho 14.01.2020 00:19 # 0
Desktop 14.01.2020 00:22 # +2
С такими друзьями и врагов не надо.
HoBorogHuu_nemyx 14.01.2020 01:05 # 0
http://books.mcwees.spb.ru/?compaq.html
HoBorogHuu_nemyx 14.01.2020 00:26 # 0
Уже лет 10 как софт для PHP 5.2 нужно разыскивать с собаками. Несколько лет пытаются убить PHP 5.3-5.6. А тут живой проект на PHP 4 в 2020-м году.
Серьёзно?
Stallman 14.01.2020 00:31 # 0
HoBorogHuu_nemyx 14.01.2020 00:34 # 0
gostinho 14.01.2020 00:36 # 0
Stallman 14.01.2020 00:42 # 0
Koko 14.01.2020 00:59 # 0
Koko 14.01.2020 01:14 # 0
https://www.php.net/manual/ru/migration5.incompatible.php
ЗЫЮ Вопрос знатокам, что это значит:
Передача массива в функцию по значению больше не сбрасывает внутренний указатель массива, используемый для доступа к его элементам в данной функции. Иными словами, в PHP 4 при передаче массива в функцию его внутренний указатель сбрасывался внутри функции, тогда как в PHP 5 при передаче массива в функцию данный указатель останется в том же положении, в котором он был до передачи массива в функцию.
?
HoBorogHuu_nemyx 14.01.2020 02:49 # +1
Сейчас практически не используются, вместо них используют foreach.
Каюсь, я пользовался функциями reset и end для получения соответственно первого и последнего элемента массива. В семёрке вместо них можно использовать array_key_first и array_key_last.
HoBorogHuu_nemyx 14.01.2020 17:36 # 0
Возможно, этот внутренний указатель ввели, когда ещё не было цикла foreach, чтобы была возможность итерации по нечисловым ключам, а потом оставили для совместимости.
vistefan 14.01.2020 01:18 # +1
inkanusinho 14.01.2020 08:16 # 0
Stallman 14.01.2020 00:40 # +3
vistefan 14.01.2020 01:20 # +1
C какого это хуя проще, если мне нужны косметические изменения, затем в поддержку я сайт брать не буду, либо уже за отдельный бюджет, а для этого надо сначала показать хоть что-то.
> Если там задача номер телефона в футере поменять
Ну да, примерно так и есть.
gostinho 14.01.2020 07:51 # 0
bormand 14.01.2020 07:57 # 0
vistefan 14.01.2020 01:17 # +1
HoBorogHuu_nemyx 14.01.2020 00:51 # 0
https://museum.php.net/
https://pecl.php.net/
https://pear.php.net/
«xdebug» можно собрать из исходников. Брать тут:
http://web.archive.org/web/20111221231752/xdebug.org/files/
*****
«Денвер» нахуй. Если нужно протестировать на «Windows», то лучше брать тут:
https://windows.php.net/downloads/
В качестве сервера под «Windows» можно брать «Апач» или «lighttpd». Для последнего есть неофициальный пакет, чтобы запускать его как службу.
В случае «Апача» интерпретатор «PHP» вызывается из mod_php, в случае «lighttpd» нужно запускать «PHP» как fastcgi-сервер.
«Mysql» или «MariaDB» в «Windows» ставится вообще просто.
Если тяжело ставить всё с нуля, можно установить XAMPP (в нём будет новый интерпретатор «PHP») и прикрутить к нему «PHP4».
HoBorogHuu_nemyx 14.01.2020 01:03 # 0
Во-первых, там есть два варианта интерпретатора: «thread safe» и «non thread safe». Если интерпретатор TS, то все расширения должны быть TS. Если интерпретатор NTS, то все расширения должны быть NTS. Если хотя бы одно расширение оказалось не того варианта, то интерпретатор при старте упадёт.
Во-вторых, каждая версия PHP должна компилироваться определённой версией MSVC. Для PHP 5.2 нужно MSVC6 (VS 98), для PHP 5.3 и 5.4 — MSVC9 (VS 2008), для PHP 5.5 и 5.6 — MSVC11 (VS 2012). Какая версия нужна для 4.4, я не знаю. Возможно, VS 98, но точно не новее. У разных версий MSVC может быть разный манглинг имён и разная версия CRT (используется динамическая библиотека, а не статическая), поэтому расширение должно быть скомпилировано той же версией, что и интерпретатор.
Koko 14.01.2020 01:15 # 0
Но в "PHP" же нет потоков.
HoBorogHuu_nemyx 14.01.2020 02:37 # 0
https://www.php.net/manual/ru/faq.obtaining.php#faq.obtaining.threadsa fety
https://ru.stackoverflow.com/questions/814897/
https://qna.habr.com/q/410970
Потокобезопасная версия требуется только при работе с mod_php «Апача», потому что он создаёт треды.
FastCGI же создаёт процессы, а не треды. С ним можно использовать и «небезопасную» версию.
bormand 14.01.2020 17:38 # 0
vistefan 14.01.2020 01:24 # 0
> https://pecl.php.net/
> https://pear.php.net/
Именно оттуда докерфайлы и пытаются тащить исходники и компилировать их, но что толку, пыха-то нужная у меня уже есть, просто к ней в природе не существует норм дебаг-инструментов.
> «Денвер» нахуй.
> В качестве сервера под «Windows» можно брать «Апач»
Ну так блять а в денвере по-твоему что используется?
HoBorogHuu_nemyx 14.01.2020 01:56 # 0
https://pecl.php.net/package/xdebug
Там те же версии xdebug, что и на http://web.archive.org/web/20111221231752/xdebug.org/files/
1.x точно на PHP 4.x пойдут, плюс какие-то из 2.x могут пойти (не выше 2.2).
Да, для Линукса только в исходниках. Понадобится пакет php-dev именно от той же версии PHP, чтобы gcc увидел заголовочные сишные файлы и чтобы запустить скрипт phpize.
vistefan 14.01.2020 02:52 # +1
> Понадобится пакет php-dev именно от той же версии PHP
Не понадобится, я тебя может быть огорчу, но из пакетных менеджеров никто в здравом уме пыху не ставит, во всех более-менее рабочих докерфайлах с докерхаба ты увидишь выкачивание тарника с исходниками и его компиляцию. Из пакетного менеджера ставят как раз депенденси либы и собственно gcc ))) Так что исходники с вероятностью 99% у тебя всегда от пыхи именно той версии есть, потому что именно из них ты и пытаешься собраться.
bormand 14.01.2020 07:06 # 0
N_BCE_3ACMERJINCb 14.01.2020 07:50 # 0
только нархена етиться например с мусакуелем, который можно развернуть без хуйни
vistefan 14.01.2020 15:11 # 0
Stallman 14.01.2020 15:41 # +2
bormand 14.01.2020 17:22 # 0
Опыт работы с окаменелым говном из двухтысячных?
З.Ы. Ну смотря как оплачивается, конечно.
vistefan 14.01.2020 17:24 # 0
Не только, ещё в сборке всякого говна вручную и в работе с ещё не окаменелым говном из 2020, таким как докер или специфические фичи для всего этого в idea
N_BCE_3ACMERJINCb 14.01.2020 18:25 # 0
vistefan 14.01.2020 17:25 # 0
Никак, за еду лол
gostinho 14.01.2020 17:26 # 0
bootcamp_dropout 14.01.2020 17:28 # 0
bormand 14.01.2020 17:29 # 0
AnalBoy 14.01.2020 18:42 # 0