Z okolí 2 týdny php 5.3 Zadejte příběh, pomalu, ale jistě. 11 oznámil konec jeho údržby a to se bude hrát jen opravy zabezpečení pro 1 rok. V obecné, PHP 5.4 průchody v etapách a staré stabilní PHP 5.5 stává se stabilní, což je druh zábavy, protože stále součástí dodatky a pluginy php nefunguje zcela správně ale verze 5.5 je zcela nové, takže se zdržet migrace k ní.

Tak řekněme, že mé migrace do 5.4 od 5.3. Dříve jsem vyslán informace zastaralé funkce, ty, které se změnily mé celé osobnosti a ty, kteří již musí mít žádné drama na obou stranách, zda to bude na začátku nebo ne 😉 tak jsem si dnes ráno hodinu zahájení migrace po celém 7 Jak to stalo se, to tam je minimální bolesti během migrace, pokud nechcete jít hladce. K mé nesmírné překvapení šlo všechno hladce – jste zkompilovali PHP 5.4.17 Začal jsem apache a Oh nebe, to je vše k dispozici. Letmý pohled do protokolů není řev depricated nebo neznámé funkce – Zdá se chlapci udělali svou práci dobře. Pak mám jen prekompiliram a dodatky, které jsou zkompilovány s staré API jako APC, RAR atd.. Druhý restartování a všichni spí. Odděleně, očekávat zlepšení výkonu, protože všude lidé ukazují velký prst zásobníky, které ukazuje, jak PHP 5.4 spotřebovává méně paměti RAM a vykonává skripty rychleji.

Před pár dny vyšel XAMPP 1.8.0 Po inovaci z verze 1.7.7 Měl jsem docela zajímavý problém. PhpMyAdmin není můj úvodní a izg″rmâvaše s 403

Přístup zakázán!


Nová koncepce zabezpečení XAMPP:

Přístup k požadovanému objektu je pouze k dispozici v místní síti.

Toto nastavení lze konfigurovat v souboru “httpd-xampp.conf”.

Teď jsem otevřela httpd-conf xampp což je pro mě... se nachází v the/opt/lampp/etc/extra /, na první pohled všechno zdálo fine. Pravidla pro místní síť, byly v pořádku. Kromě toho by otevřete localhost. WTF ??? Jsem se podíval na protokolu a vidět, že můj přístup je úkonem konfiguaciâta. Musím říct už ahnaha a upřímně druh trochu štěstí jsem našel problém. Poté, co nad httpd. conf a pila v posledním řádku povolit/zakázat klauzule jeden Požadovat, aby všechny poskytnuté. Oh do Eureky. To je nový kontrolní mechanismus, který vstoupil do Apache 2.4.x. To dává přístup nebo odmítnutí takové vše v pořádku, v podstatě napodobil povolit/zakázat funkce :). K nápravě tohoto problému jsme přidali, vyžadují všechny udělené v the/opt/lampp/phpmyadmin složka. Po změnách ve mně vypadá takto

<Adresář “/opt/lampp/phpmyadmin”>
AllowOverride AuthConfig Limit
Objednávky umožňují,Odepřít
Povolení od všech
Požadovat, aby všechny poskytnuté
</Adresář>

 

Vždy můžete zkusit další divoti, Například přejmenovat složku phpmyadmin něco jiného a ne alias na. Ale je to ošklivý a velmi významné 🙂

p. s kladené, proč jsem použít XAMPP, a ne čisté instalaci všech součástí, jak je můj Debian se narodila – odpověď je opravdu velmi jednoduchá – LENOST. Já příliš líný psát více příkazů a pak se konfovete atd.. Poměrně snadné je vzít celý pack razarhiviraš a lehké 😉

Umocněn Zemanta

Debian OpenLogo

Poslední den přítel mi napsala, že má problém s Debian server-its. Přesněji nestřežené EASB více 30 bez ohledu na to, jak minut melodie Session.gc_maxlifetime. V podstatě problém je, že Debian se rozhodl přepsat chování relace namísto Popelář-a spustit cron každý 9. a 39. minuty, která odstraňuje staré relace. Toi leží v /etc/cron.d/php5

Obecně semplichak skript, který začne otáčet / usr / lib / php5 / maxlifetime a je variabilní, jak dlouho je život cookie, který je 1440 sekund nebo 24 minut 😉 Odtud tam 2 Možnosti nebo zastavit korunu-a tím ukončit automatické čištění, který může být později změněna pomocí php.ini nebo přímo do samotného skriptu pro změnu délky života setkání s variabilním max. Osobně preferuji druhou možnost. Zcela jasné, že je obecně, ale má nevýhodu – pokud jste přepsat změny souborů, že ztratí to, co je nepříjemná skutečnost.

PS. Teď si myslím, že pravděpodobně, pokud definujete jiné místo pro uložení seiinata informací o sobě php by měl jít nad rámec scénáře, a proto znovu použít v normální relace bez přerušení hrubý.

ini_set('session.gc_maxlifetime', 14400);
 ini_set('session.gc_probability', 1);
 ini_set('session.gc_divisor', 100);
 session_save_path(APP_PARENT_DIR . '/sessions');

Umocněn Zemanta

Dnes budeme hovořit o své strasti o server s Suhosin opravy a jak Debian Sqeeze dohodu s ním. Nyní pojďme začít malé vzdálenosti. Při instalaci php v systému balíček Debianu (pro ostatní stabilní, nemohu říci, jak je více) K tomu musíte nainstalovat suhosin a mod. Měl jsem problémy s ply psané systému php a rozhodnutí pro kardinalnoto ladění aplikací v systému a získat opravu pro bezpečnost a tak ušetřit bolesti hlavy zprávu zpět vývojáři. Obecně mohu směle říci, že to byl jeden z nejvíce pošetilé rozhodnutí nikdy mě. Další moduly snap-on zpět PHP5-Suhosin obnovit webový server a Jejda nosníků – patch je stále načten. Po krátkém průzkumu zjištění, Tento balíček je zkompilován a s Pacha přímo v kódu, což znamená, že nebude vypnout nebo odstranit, pokud prekompilira kód znovu bez oříšků. Rozhodnout, že budete dr″pna a prekompiliram do balíčku deb. Udělali dělat jste apt-get source php5 táhne mě tento zdrojový kód, razpaketirva a tak dále. Tady perfektní nápad stáhnout odřízne z balíčku odstranit buráky a znovu jej zkompilovat debianski balíček plus dva malé optimalizace pro kompilaci. Řečeno a uděláno – Odstranil jsem obrázek z patch Debian/patches/Suhosin.patch Odstranil jsem ho nehrál Debian/patches/série. Zde vše jasně a bez problémů. Spusťte znovu zkompilovat balíček s debuild a jak jsem očekával můj objeví kompilace z důvodu chybějící záhlaví. Samozřejmě bude takové nedostatky – Já jsem s debian netinstall. Opravit vaše hloupost opravdu rychle uvolnit znovu kompilace, v jednom bodu premiér znovu pouze, To je divný bug v Zend / zend_stream. h nebo c nevím přesně (Je-li dohoda může později zkontrolovat přesně který soubor a řádek jsem mluvil s). Po nedoumâvane co se děje a proč k čertu může rachot v Zend Core – tam, kde neměl rachot na pro žádný důvod a poněkud delší studie zjistil, že tento problém je poměrně vzácná a není mnoho signálů pro něj. Mám podezření, že některý z oprav v zdroj je špatně, ale teď nemám žádné nervy k ověření. Hmmmmm divný Super divný. Téměř jsem se rozhodli sestavit čistě php, ale rozhodl jsem se vyzkoušet zrcadla dotdeb Podívejme se, co se tam stane. Kompilace tam zemřel nějaký divný závislostem, ale přešli na problémy v hlavní části. Což je pochopitelně byly pryč 30-40 opravy, které byly v balíčku stabilní. Po několika dlouhých a neúspěšných pokusech, které pokrčil jsem Stáhnul jsem vanilkový balíček a kompilována s téměř debian lyžařské možnosti s myšlenkou přepsat své současné instalaci a nainstalovat nové balíky z ptačí krmítko můžete mít chování balíček nainstalovaný v úložišti (asi jen další obosobno ani moudré rozhodnutí). Podle očekávání bez jakékoli opravy instalace proběhla hladce. To je výstup pěkné config souboru.:

#! /bin/sh
#
# Created by configure

CFLAGS='-g -O2 -fPIC -Wall -fsigned-char -fno-strict-aliasing   -gstabs' \
CXXFLAGS='-g -O2' \
'./configure' \
'--with-apxs2=/usr/bin/apxs2' \
'--prefix=/usr/local/php5' \
'--disable-cgi' \
'--with-config-file-path=/etc/php5/apache2' \
'--with-config-file-scan-dir=/etc/php5/apache2/conf.d' \
'--build=x86_64-linux-gnu' \
'--host=x86_64-linux-gnu' \
'--sysconfdir=/etc' \
'--localstatedir=/var' \
'--mandir=/usr/share/man' \
'--disable-debug' \
'--with-regex=php' \
'--disable-rpath' \
'--disable-static' \
'--with-pic' \
'--with-layout=GNU' \
'--with-pear=/usr/share/php' \
'--enable-calendar' \
'--enable-fileinfo' \
'--enable-hash' \
'--enable-json' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-sysvmsg' \
'--enable-bcmath' \
'--with-bz2' \
'--enable-ctype' \
'--without-gdbm' \
'--with-iconv' \
'--enable-exif' \
'--enable-ftp' \
'--enable-dbase' \
'--with-gettext' \
'--enable-mbstring' \
'--with-onig=/usr' \
'--with-pcre-regex' \
'--with-mysql=shared,mysqlnd' \
'--with-mysql-sock=/var/run/mysqld/mysqld.sock' \
'--with-mysqli=shared,mysqlnd' \
'--enable-pdo=shared' \
'--with-pdo-mysql=shared,mysqlnd' \
'--with-pdo-odbc=shared,unixODBC,/usr' \
'--with-pdo-pgsql=shared,/usr/bin/pg_config' \
'--with-pdo-sqlite=shared,/usr' \
'--with-pdo-dblib=shared,/usr' \
'--enable-phar' \
'--enable-shmop' \
'--enable-sockets' \
'--enable-dom' \
'--enable-wddx' \
'--enable-tokenizer' \
'--with-zlib' \
'--with-kerberos=/usr' \
'--with-openssl=/usr' \
'--enable-soap' \
'--enable-zip' \
'--with-mhash=yes' \
'--with-exec-dir=/usr/lib/php5/libexec' \
'--with-system-tzdata' \
'--without-mm' \
'--with-readline=/usr' \
'--without-sybase-ct' \
'--without-sqlite' \
'--without-sqlite3' \
'--without-mssql' \
'--enable-pcntl' \
'--enable-inline-optimization' \
"[email protected]"

Tato konfigurace je podobná té, která sestavení dotdeb. Důvody a co je nejdůležitější prefix volby, kde budete mít soubory knihovny php. To a jindy upravit podle vašeho systému, takže nemáte pocit kompilaci tím, že mění způsob,.

Umocněn Zemanta

Vector logo of the PHP programming language wi...

Dnes jsme zapálil světlo čtení pro php cache v HTML. Zde hovoříme o ukládání do mezipaměti výstup našeho kódu a nikoliv, jak jsem napsal proplatit na skritpovete instrukce na rovinu eAccelerator. Takže věci – Pojďme si Připomeňte rychlá práce php-it. Odeslat žádost webový server-On nás přijímá takové parametry, které předložíme to pak odešle do php skriptu zkompiluje a ven s výsledky ve verzi html. Je to v poměrně obecné směry. Jaká je naše představa nad požadavky, přes velké bloky nebo ne tak velké bloky jako přímé kreslení brčka jednou kompilovaný výstup. Výhody jsou zřejmé – namalâna krát, menší zatížení a spotřeba zdrojů. Jako celek není otevření horké vody, nebo tak něco, kdo ví, jak složité. Existuje více třídy pro tento účel, jako je například PHP Hruška Cache_Lite která má skvělé funkce, ale myslím, že v budoucnu psát moje s efektivnějším strukturou a moje požadavky na ukládání do mezipaměti. Teď se podíváme na aborigenskiâ možnost s Funkce pro řízení výstupu. Tak se pojďme inkasovat něco –

//start cache all output after that will be saved

ob_start();

//generate output

echo 'Some dynamic output';

echo 'Some other dynamic output ...';

//assign output into variable

$var=ob_get_contents();

//close cache output

ob_end_flush();

Výše uvedený kód je triviální, ale dovolte mi vysvětlit, co se stalo. Nejprve jsme prohlásit, jaká část v kódu začne ukládání do mezipaměti. Pak vytvoříte více standardní způsob kód ukončení. Pak generovaný výstup připojí proměnnou, která bude k dispozici později, ať už v souboru nebo během relací, je to vaše rozhodnutí. Konečně odebrat a zakázat mezipaměť. Docela triviální operace, Řekněme že geenriraneto cache prochází obrovské bloky kódu tak můžeme ušetřit spoustu času procesoru jako hotovost na chvíli, nebo pro relaci. Teď je to všechno o tom, co chcete zda mezipaměti byly zpřístupněny veřejnosti, nebo je přístupný pro různé uživatele.

Umocněn Zemanta