Přesměrování všech požadavků z HTTP na HTTPS lze snadno provést pomocí .htaccess souboru (Apache) s následujícím obsahem:
Transakce v MySQL a PHP: Pokud nezavoláte rollback, máte zaděláno na pořádný průšvih
Při práci s transakcemi v MySQL se občas můžeme zamotat do jejich volání. START TRANSACTION považujme za párový příkaz, po kterém by mělo být vždy zavoláno COMMIT nebo ROLLBACK. Jinak máte zaděláno na velký problém.
Pomalé načítání stránek na localhostu: Apache 2.4, PHP 5.3, Windows 8, 10 a IPv4/IPv6
Možná jste také u Windows 7/8/10 zpozorovali problém dlouho trvajícího načítání stránek z localhostu, někdy třeba 5-30 sekund. Takže pořádný slow loading localhost! Doba načítání se může lišit, např. Opera 12 je u mě znatelně rychlejší než Opera 23 a Chrome, které oba běží na stejném základě.
Pokud navíc využíváte virtuální hosty (přichází více požadavků na localhost), tak při bílé stránce zdlouhavě čekáte a čas si tak můžete akorát zkrátit pohledem na static.xxcdn.cz…, které se nehybně zobrazuje v rohu prohlížeče.
Zpomalení se může projevit jen při některých načtení stránky, obvykle u prvního přístupu na stránku, ale u dalších to může být nahodilé. A když se najednou zdá načítání rychlé, tak se z ničeho nic zase zpomalí. Někdy pomůže restart Apache, jindy ale nikoli.
Naštěstí existuje několik tipů, jak tento problém fixnout.
1) Přidejte AcceptFilter do Apache
Jakub Vrána: Deploy ve Facebooku a nasazování funkcí mezi uživatele
Zajímavá přednáška Jakuba Vrány, tehdy ještě zaměstnance Facebooku, jak se pracuje ve Facebooku s preparables, mcproxy a XHP. Rozpovídal se také o deployi a způsobu nasazování jednotlivých funkcí mezi uživatele.
Podrobný výstupní log CURL (PHP)
Zapnout CURLOPT_VERBOSE a případně nastavit výstupní log soubor CURLOPT_STDERR (jinak budou chyby vypsány na STDERR).
Užitečné on-line nástroje pro webové vývojáře
Výkon webu
https://developers.google.com/pagespeed/
Gzip komprese
http://nontroppo.org/tools/gziptest/
DNS, A, MX, TTL aj.
Read More
Přesměrování stránky bez zachování hlavičky Referer (PHP)
Někdy můžete chtít ze své stránky odkázat na jiný web tak, aby cílová stránka nezjistila, odkud uživatel přišel (URL). Běžně se to lze dozvědět z hlavičky Referer, pokud ji uživatel neblokuje (například firewallem).
Pro tento případ je proto vhodné připravit mezistránku (například soubor /r.php), které předáte cílovou URL. Stránka odstraní Referer a přesměruje na cílovou, která se tak nedozví původní URL.
Odkaz vygenerujte třeba takto:
echo '<a href="/r.php?u=' . htmlspecialchars(urlencode('http://blog.zdenekvecera.cz/item/category/php'), ENT_QUOTES, 'UTF-8') . '">odkaz</a>';
Řešení problému: Sources directory is already netbeans project (maybe only in memory)
Spokojeně používáte NetBeans, až jednou za jeho běhu přímo ve Windows přejmenujete/přesunete adresář, který doposud sloužil jako cesta k jednomu z projektů.
Daný projekt z NetBeans zmizí a vy se jej pokoušíte přes File -> New Project -> PHP Application with Existing Sources znovu přidat. Marně, protože pokaždé se vypíše chybová hláška:
Stavové kódy odpovědí serveru – chybové stavy http
Jaký je stavový kód pro trvalé přesměrování nebo chybu serveru? Seznam http kódů…
Informační
- 100 – Continue
- 101 – Switching Protocols
Úspěšné
- 200 – OK (OK, běžný stav)
- 201 – Created
- 202 – Accepted
- 203 – Non-Authoritative Information
- 204 – No Content
- 205 – Reset Content
- 206 – Partial Content
Víte, jak se chová zákeřná PHP funkce empty()?
PHP programátoři mají občas nejasnosti s tím, co vrací PHP funkce empty(). Máte prázdnou proměnnou, neexistující proměnnou, prázdné pole nebo proměnnou s hodnotou 0 (nula) či NULL. Víte, co vám empty() v jednotlivých případech vrátí? A aby toho nebylo málo, mrkneme i na isset().