Acum ceva timp am mutat siteul unui client de pe un server Siteground pe unul la DO. Mutarea a fost lipsită de evenimente, downtime minim, toată lumea fericită.
Doar că, uneori, site-ul crăpa. Pur și simplu, pagină albă, nu dădea nici o eroare, nu apărea nimic în logs, nu nimic. Iar totul era imprevizibil, nu avea legătură cu numărul de vizitatori, cu ora (inițial credeam că-i ceva în cron), sau vreun alt pattern la care m-aș fi putut gândi. Fuckery maxim.
Am avut nevoie de câteva ore să-mi dau seama că Siteground adaugă un include
silențios:
@include '/path/to/some/file.php';
Iar aici erau două chestii de care habar n-aveam:
- Că
@
previne nu doar afișarea erorilor, dar și logarea lor; - Că un
include
eronat poate pune site-ul în nas în moduri total imprevizibile.
Mi-am adus aminte azi, când am făcut update la xdebug 3 și a trebuit să-i ajustez setările și am descoperit o setare utilă în astfel de cazuri: scream!
În php.ini
adaugi:
xdebug.scream=1
Și gata.
Sigur, opțiunea este disponibilă de la Xdebug 2.1, dar hei, cine să citească manualele?
Siteground au o mizerie de cache pe care o bagă pe gât la WordPress-uri.
Am pâțit și eu o chestie dinasta acum 3 ani.
This operator is affectionately known by veteran phpers as the stfu operator.

Ah, deci n-a fost doar despre API azi. Interesant.
Cu un newrelic pus rapid pe server cred că o dibuiai mai repede.
@Silviu: Făceam debug pe local, mai greu cu newrelic așa