Od oko 2 tjedna php 5.3 Unesite priča polako, ali sigurno. 11 najavio kraj svoje održavanje i igrao samo sigurnosne zakrpe za 1 godine. Općenito, PHP 5.4 Prodaja u fazama i stara staja PHP 5.5 postaje stabilan, koje je vrste zabave Zato što još uvijek radimo od dodataka i čep PHP ne rade potpuno ispravno ali verzija 5.5 je sasvim novo pa ću se suzdržati od migracije da joj.

Recimo za moj migracija u 5.4 od strane 5.3. Ranije sam imao posted na informacije za zastarjele značajke, one koje sam promijenio cijelu osobnosti i one koji više ne mora održavati da nema drame na obje strane da li će početak ili ne 😉 pa sam izabrao ovo jutro sat za početak migracije oko 7 kao što je postao, To je minimalna bol tokom migracije ako ne ide glatko. Na moje neizmjerno iznenađenje sve je išlo mnogo lakše – sam sastavio PHP 5.4.17 Počeo sam apache i Oh Bože, to je sve tu. Brzi pogled kroz zapisnike ne urlaju depricated ili Nepoznata funkcija – Izgleda, dečki su napravili svoj posao pa. Onda imam samo prekompiliram i dopune koje su sastavljeni sa stare API kao APC, RAR itd.. Drugi ponovno pokretanje i svi spavate. Zasebno, očekivati poboljšanja performansi jer svugdje ljudi pokazuje veliki Pete ladicu koja pokazuje kako PHP 5.4 troši manje RAM-a i izvršava skripte brže.

Prije nekoliko dana je izašao XAMPP 1.8.0 Nakon nadogradnje s verzije 1.7.7 Imao sam prilično zanimljiv problem. PhpMyAdmin-ne moj otvor i izg″rmâvaše s 403

Pristup zabranjen!


Novi XAMPP sigurnosni koncept:

Pristup zahtijevani objekt dostupan samo iz lokalne mreže.

Ovu je postavku moguće konfigurirati u datoteci “http-xampp.conf”.

Sada sam otvorio httpd-conf xampp za mene... nalazi se u u/opt/lampp/itd/extra /, na prvi pogled, sve se činilo u redu. Pravila za lokalne mreže su dobro. Osim toga bih otvorila localhost. WTF ??? Sam gledao dnevnik i vidjeti da moj pristup je odsječen od konfiguaciâta. Ovdje stvari već ahnaha me i iskreno malo sreće otkrio sam problem. Nakon što ide preko HTTP. conf i pila u dopustiti/poreći rečenice jedan posljednji redak Zahtijevaju sve gotovo. -U Eureku. Ovo je novi kontrolni mehanizam koji je stupio na Apache 2.4.XI. Daje pristup ili odbija kao sve u redu, u osnovi je oponašati dopustiti/poreći funkcionalnost :). Da otkloni problem možemo dodati zahtijevaju sve odobrenog u u/opt/lampp/phpmyadmin mape. Nakon promjene na meni izgleda ovako

<Imenik “/opt/lampp/phpmyadmin”>
AllowOverride AuthConfig granica
Bi omogućiti,uskratiti
Dopustiti iz svih
Zahtijevaju sve gotovo
</Imenik>

 

Uvijek pokušajte drugi divoti, na primjer, preimenovati mapu phpmyadmin nešto drugo, a ne alias za. Ali to je ružno i ne vrlo značajna 🙂

p. s me Zašto koristiti XAMPP i čistiti instalaciju svih komponenti jer je moj Debian je rođen na pitanje – Odgovor je zapravo vrlo jednostavan – LIJENOST. Mene previše lijen pisati više naredbi onda se konfovete itd.. Lako je uzeti cijeli paket razarhiviraš i svjetlo 😉

Poboljšana po Zemanta

Debian OpenLogo

Neki dan moj prijatelj mi je pisala da sam imao problem sa Debian -moj server je. Nije baš držao više od sessiite 30 Bez obzira koliko minuta za postavljanje Session.gc_maxlifetime. Uglavnom problem je da Debian odlučio ponovno napisati vođenje sjednice umjesto sakupljačica-i početak jednog cron svaki 9 i 39 minuta da čisti stari sjednice. On je in/etc/cron.d/php5

sve u svemu, sempličk original što zauzvrat pokreće/usr/lib/php5/maxlifetime i varijabilni koliko je život kolačić koji je 1440 sekundi ili 24 minuta na njemu je 😉 2 mogućnosti ili za zaustavljanje krunu i tako prekinuti automatsko čišćenje koji može kasnije radi usklađivanja php. ini ili izravno u skriptu da biste promijenili život dugovječnost sjednice varijable Max. Osobno više volim drugu opciju. Prilično uredan je sveukupno ali postoji nedostatak – Ako prebrišete datoteku promjene će se izgubiti što je koji uznemiruje činjenica.

PS. Sad da mislim o vjerojatno ako je definirana negdje drugdje gdje pohraniti su informacije putem seiinata treba ga izvan dosega scenarij i tako se opet normalno sjednica bez prekida primitivan.

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');

Poboljšana po Zemanta

Danas možemo govoriti o svoje Jade o server sa Suhosin krpa i kako Debian Sqeeze dogovor s njim. Sada Počnimo distanci. Kada instalirate php u sustav paket za Debian (staja za druge, ne mogu reći kako je više) Morate instalirati suhosin i mod za to. Imao sam problema sa prometovati napisan sustav php i sam odlučio za kardinalnoto učiniti za ispravljanje pogrešaka aplikacije na sustavu i vrati razvijen da se krpa za sigurnost i tako spasiti se glavobolja. Općenito mogu reći hrabro da je to jedan od Posljednja odluka ikada uzeti mene. Sljedeći poništavanje ugriz na PHP5-suhosin ponovno postavljanje web-poslužitelja i i UPS – -krpa je još uvijek opterećen. Nakon vrlo kratke ankete otkriti, taj paket je sastavio i s Pacha izravno u kodu što znači da neće isključiti ili ukloniti osim ako prekompilira broj iznova bez kikirikija. Odlučiti da li će dr″pna i prekompiliram na deb paket. Učinio da si pogodan-dobiti izvor php5 vuče me taj izvorni kod, razpaketirva i tako dalje. Ovdje savršena ideja za preuzimanje Sorsa paketa za uklanjanje kikiriki i sastaviti opet na debianski paket plus dva mala poboljšanja za sastavljanje. Gotovo – Izvadio sam slike iz krpa Debian/Patches/suhosin.patch Uklonio sam ga igrati Debian/skrpan/serije. Ovdje sve jasno i bez problema. Onda ja trčanje rekompiliranje paket s debuild i kao što sam očekivala moj tata kompilacija zbog kojega nema zaglavlja. Naravno da će biti manjka – Ja sam s debian netinstall. Popraviti vaše gluposti brzo puštanje ponovno kompilacija, u jednom trenutku premijer opet samo, To je čudan bug u Zend / zend_stream. h ili c ne mogu se sjetiti točno (Ako posao možete kasnije provjeriti točno koja datoteka i koje linije je razgovarao). Nakon je nedoumâvane što se događa i zašto, dovraga može ruke Zend jezgre – gdje ne bi trebalo izazivati rođenja za razlog i nešto duže studija otkrio da ovaj problem je relativno rijedak i nema puno signala za njega. Ja sumnjate da zakrpe u izvoru je pogrešno ali sada imam nema živaca za provjeru. Hmmmmm čudno koliko sam popio. Gotovo sam odlučio sastaviti čisti php ali odlučio sam isprobati ogledala dotdeb Da vidimo što će se dogoditi tamo. Kompilacija tamo umrli zbog neke čudne ovisnosti ali predvidio probleme u glavnom. Što je razumljivo da su otišli 30-40 zakrpe koje su bile u paketu stabilan. Nakon nekoliko dugo i neuspjelih pokušaja sam slegne ja preuzimanje datoteka vanilije paket i sastaviti sa gotovo debian-skijaške mogućnosti s idejom da se prepisati moje trenutne instalacije i instalirati nove pakete iz na hranilice može imati ponašanje paket instalirati iz repozitorija (Vjerojatno samo još jedan obosobno nije mudro odluka). Kao što se očekivalo bez zakrpe instalacije je glatko. Ovo je iskopana ruda od moj konfiguracijska datoteka lijepo.:

#! /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]"

Ovaj oblik je sličan sastavljanju i dotdeb. Като основаното и най важно е prefix опцията където ще се разполагат файловете с библиотеките на php. Него както и другите пъти ги коригирайте според вашата система така че да не се усети компилацията с промяна на пътищата.

Poboljšana po Zemanta

Vector logo of the PHP programming language wi...

Днес ще драсна едно леко четиво за php cache na html. Тука говорим за кеширане на изхода от кода ни а не както съм писал да кешираме скритповете до opcode ниво с eAccelerator. Така за какво иде речнека да си припомним на бързо работата на php-то. Подаваме заявка на web server-a ни той приема параметрите който подаваме след това той ги подава на php скрипта той се компилира и плюе резултат в html вариант. Това е в доста общи линии. Каква ще е идеята ни тука да прескачаме заявки, да прескачаме големи блокове или не чак толкова големи блокове като директно изрисуваме вече веднъж компилирания изход. Преимуществата са очевиднинамаляна на времето за изпълнение, по малко натоварване и потребление на ресурси. Като цяло не е откриване на топлата вода нито е нещо кой знае колко сложно. Има множество класове за тая цел като PHP Pear Cache_Lite който разполага с прекрасна функционалност но аз мисля в бъдеще да си напиша мой с доста по облекчена структура и мой си изисквания към кеширането. Сега ще разгледаме най аборигенския вариант с Output Control Functions. Така нека да кешираме нещо

//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();

Горния код е тривиален но нека да обясним какво стана. Първо декларираме от коя част в кода започва кеширането. След това си генерираме по стандартен начин изхода от кода. След това генерирания изход се присъединява към променлива която ще е достъпна по късно дали през файл някакво или през sessions това си е ваше решение. Накрая изчистваме и прекратяваме кеширането. Съвсем тривиална операция ако да речем геенрирането на кеша минава през огромни блокове от код така можем да спестим доста процесорно време като кешираме за известно време или за една сесия. Вече всичко опира то това какво искате дали да е общодостъпен кеша или да е достъпен за различен потребител.

Poboljšana po Zemanta