Pull to refresh

Comments 26

reload php-fpm решает задачу полностью.
Столкнулся с такой ерундой, когда настраивал автоматический деплой на сервер. Так как проект небольшой и всего один, то проблема была решена перезагрузкой апача.
UFO just landed and posted this here
я специально с ошибкой код закоментил, именно поэтому
старые релизы очищаются и удаляются

Хотя бы один предыдущий релиз хранится для быстрого роллбэка?
Зачем я вообще зашёл в этот пост.

Как увидел эти $, да и жутчайшие объявления массивов, сразу хлынули жуткие воспоминания, кошмары, унижения и страдания.

Предупреждать надо.

Всем удачных итераций по пустым массивам, что в пхп нормально.

А где вы тут увидели "жутчайшие объявления массивов"? Неужели это вы так отладочный вывод обозвали?

Каждому своё. Но настоящему профессионалу язык не проблема, а всего инструмент.
Так дело то оказалось не в opcache, а в realpath_cache
А они не словят race condition, если симлинк на каталог с проектом поменяется в момент подгрузки пачки инклудов? Тогда один файл может прочитаться из старой версии, а следующий — из другой. Не очень-то и атомарненько.
UFO just landed and posted this here
Хм, если в PHP использовать только относительные пути для инклудов, то прокатит.
UFO just landed and posted this here

А по вашему "автолоадеры", что под капотом подключают файлы не иначе как через include/require конструкции, не столкнуться с проблемой такого рода? А что, вдруг, не так с "инклюдами" по путям? — или есть какой-то иной способ подтянуть файл, содержащий не класс? а с какой строчки начинается подключение того же composer в проекте?

UFO just landed and posted this here
UFO just landed and posted this here
Для того, чтобы проблем не было. Запуск может происходить из любой части системы, например в юнитах (а точнее функциональных\интеграционных тестах) или через прокси сервер. Короче, не суть. Абсолютные пути всегда гарантируют надёжность и однозначность «отношений», а относительные зависят от настроения разработчика, переходной фазы луны и формы шапочки из фольги на головах у котиков.

По-этому, всегда указываются абсолютные пути. И это, кстати, касается не только PHP, но, например, и html с подключением внешних ресурсов через src/href.
UFO just landed and posted this here

1) src="//yoursite.ru/path/to/file.jpg"
— Это абсолютный путь?
— Да.
— Смена протокола влияет?
— Не влияет.
— Нет проблем?
— Да, точно, домен! Это проблема!


2) src="/path/to/file.jpg"
— Это абсолютный путь?
— Да.
— Смена протокола влияет?
— Не влияет.
— Может домен?
— Какой домен?


...


Настоятельно рекомендую почитать мануал по основам путей =)) Всё же странно не знать такое.

В современных это каких? Вот laravel это современный фреймворк? — вы наблюдали как он конфиги грузит и какого они формата? грузит через автолоад? через композер? а кэширование некоторыми фреймворками yaml/xml файлов в php формат, подтягивается как-то иначе?
А то получается, как-то вы вместо того, чтобы рассматривать "современный" код, на который сами так делаете акцент, в.т.ч. указывая на "старые" библиотеки, — вы посмотрели только то, как "современный" код выглядит в вашем приложении, словно это такая вещь в себе, не содержащая исходников и никогда не ссылающаяся на код вне классов.


Речь идёт ведь и о том, что и относительный путь и абсолютный пройдут через real path cache — будь то autoload, будь то простой include/require — под капотом вы будете иметь разжёванный в реальный путь симлинк, который отстаёт от реального мира на X-сконфигурированное время. При чём тут тенденции и какая разница какой путь — я вообще не пойму...

Sign up to leave a comment.