Андрей: разобрался, действительно всё есть в начале скрипта! Когда я копировал скрипт и вставлял в консольный редактор nano на сервере, первые строчки начинающиеся с # у меня все склеились в одну длинную строку, я не придал этому значения, думал это просто комментарии для красоты.
Люблю такие вопросы, где всё по делу написано, читаешь прям как инструкцию! С ходу ответ не дам, но хочу пояснить один момент, как на самом деле работает xdebug: вы не подключаетесь к xdebug, это xdebug подключается к вам! Порт 9001 - это тот порт, который при нажатии на зелёную трубку начинает слушать PhpStorm. В свою очередь когда интерпретатор PHP на сервере получает входящий запрос к сайту, запускается xdebug и пытается подключиться (создать ИСХОДЯЩЕЕ для него соединение) по адресу указанному в php.ini как xdebug.remote_host и xdebug.remote_port. Соответственно, я бы отлаживал так: запускаете ssh с проброской портов от локальной машины до удалённой и параллельно с этим заходите на удаённую машину в отдельном окне терминала (без всякой проброски портов) и пробуете проверить связь с phpstorm простым telnet 127.0.0.1 9001. Если нет: значит порты между локальной и удалённой не пробросились. Если да, тогда пробуем запустить telnet изнутри docker...
> если важна скорость и меньшая ресурсоемкость - лучше использовать какой-нибудь golang или python
Про golang согласен - он менее ресурсоёмкий, чем PHP и для парсинга сайтов однажды его использовал, в целом удобно, быстро, надёжно.
Про Python не согласен - он более ресурсоёмкий, чем PHP. Выбор Python vs PHP зависит от того, что вы на данный момент умеете/любите. Менять одно на другое (PHP <-> Python) нет смысла.
Klein Maximus: я слышал у Delphi тоже выходят новые версии каждый год и вроде как раньше на нём можно было писать для десктопа легко и непринуждённо... вот такая аналогия у меня родилась с Backbone/Marionette
>>В метеоре на котором вы написали свое приложение нет di контейнера, всё валится в глобальную область видимости... ...впечатление от этого всего, что вернулся в начало 2000-ых.
Насчёт meteor.js всё верно написано, но при этом много других плюшек, вроде реактивной синхронизации данных с клиентом и автоматическая сборка + hot reloading из коробки (не нужно думать о gulp, babel, webpack и проч...). Противоречивый фреймворк. Хотел бы узнать у автора вопроса его ощущения и впечатления от метеора (помимо радости от возросшей производительности).
Насчёт "про PHP есть тонны информации" - одно дгугому не мешает. По JavaScript тоже есть тонны информации, однако, какой классный подкаст получился (Frontflip, упоминал в топике).
Темы
- новости из мира PHP (похоже на "дайджест интересных новостей из мира PHP" публикуемый на хабре)
- более детальное обсуждение какой-нибудь библиотеки/фреймворка/подхода, можно с гостем в студии - специалистом по этому фреймворку/библиотеке
- анонсы мероприятий, конференций; рассказ о прошедших, обсуждение самых интересных докладов/статей (ссылки на слайды, YouTube или статью)
- темы слушателей
Карма подгажена, но грамотный подкаст - это и образовательная составляющая, так что люди "не умеющие понимать элементарные ошибки" может чему-то и научатся. А вообще, подкасты - это интресно, вот зачем!
Строка if(!isset($result[$id])) $result[$id] = []; не нужна - не обязательно предварительно создавать пустой массив, можно сразу добавлять $result[$id][] = $row;, никаких Notice: undefined index не будет