Oor 2 weke php 5.3 gaan af in die geskiedenis stadig maar seker. Die 11de aangekondig dat die einde van sy inhoud en wat sal gepos word slegs sekuriteit vir updates 1 jaar. Meestal PHP 5.4 plaasvind in fases en ou stabiele PHP 5.5 dit stabiel, dit was'n bietjie snaaks, want'n ander deel van die add-ons en plugins met php werk nie heeltemal reg nie, maar en weergawe 5.5 redelik nuut, so ek sal daarvan weerhou om te gaan op dit.

O laat ons praat oor migrasie na my 5.4 uit 5.3. Was voorheen gepos inligting vir afgekeur funksies, diegene wat het verander, verander, en diegene wat nie meer ondersteun word nie, so ons het geen drama, en beide kante, as sal verbrand of nie 😉 Ste vanoggend die migrasie van oor 7 soos dit duidelik geword, met'n minimale pyn gedurende die migrasie as jy nie slaag nie glad verloop. Tot my groot verbasing, alles het meer as glad – stel jou PHP 5.4.17 Ek het begin apache-dit en die lug is al daar. 'n vinnige blik rondom die logs is nie die brul depricated of selfs onbekend funksies – blykbaar, die ouens het'n goeie werk. Dan kan ek net precompiler aangeheg, en dit werk met die ou API, soos APC, RAR en ander. Tweede herlaai en al geslaap het. Ek verwag dat verbeterings in prestasie, soos oral mense punt met die duim, die stalletjies, waar hy wys hoe PHP 5.4 verbruik minder GEHEUE en hardloop skrifte vinniger.

'n paar dae gelede het uit XAMPP 1.8.0 gister na die opgradering van weergawe 1.7.7 Ek het'n nogal interessant probleem. Phpmyadmin nie oop nie, en ek gerol met 403

Toegang verbode!


Nuwe XAMPP sekuriteit konsep:

Toegang tot die verlangde voorwerp is slegs beskikbaar vanaf die plaaslike netwerk.

Hierdie instelling kan ingestel word in die lêer “httpd-xampp.Conf”.

Onmiddellik het ek oopgemaak die httpd-xampp.conf wat ek het is in /kies/lampp/etc/ekstra/, met die eerste oogopslag, alles lyk goed. Reëls vir die LAN was OK. Saam met die opening van die plaaslike. WTF ??? Kyk na die log en ek sien dat my toegang is afgesny van konfiguratuta. Nou al wat ek ahaha en, eerlik gesê, 'n bietjie geluk, ek het gevind dat die probleem. След като преглеждах httpd.conf-а видях в Allow/Deny клаузите един последен ред Vereis dat alle toegestaan. Oor Eureka!. Dit is'n nuwe beheer meganisme, wat is ingesluit in apache 2.4.x. Met hom gee nie toegang tot of kwytskelding van sodanige vereiste, basies naboots Aktiveer/deaktiveer funksies :). За да поправим проблема добавяме Require all granted в директивите за папката /opt/lampp/phpmyadmin. Na die verandering van my lyk so

<Gids “/kies/lampp/phpmyadmin”>
AllowOverride AuthConfig Beperk
Om voorsiening te,verbod
Laat van al
Vereis dat alle toegestaan
</Gids>

 

Terwyl dit waar is, kan jy probeer om'n ander wild, byvoorbeeld, om die naam van die phpmyadmin gids tot iets anders, en nie alias. Maar dit is lelik en nie besonder betekenisvol 🙂

p.s het my Gevra hoekom ek gebruik XAMPP in plaas van'n skoon installasie van al die komponente, en dat is, my Debian is gebore – отговорът е много много простМЪРЗЕЛ. Мързи ме да напиша няколко команди после да си пипна конфовете и прочие. Доста по лесно е сваляш целия пакет разархивираш и палиш 😉

Versterk deur Zemanta

Debian OpenLogo

Die laaste dag het'n vriend my geskryf dat hy probleme met Debian bediener-si. Dit was Sesvete meer as 30 minute, ongeag van hoe jy stem sessie.gc_maxlifetime. Basies die probleem is dat Debian besluit om te herskryf die gedrag van die sessies is vullis versamelaar-en die bekendstelling van die kroon elke 9 en 39 minute, wat skoon ou sessies. Dit is geleë in /etc/cron.d/php5

като цяло семпличък скрипт който стартира от своя страна /usr/lib/php5/maxlifetime и в него се намира променливата колко време да е живота на кукито който е 1440 sekondes of 24 minute 😉 hier en dan daar is 2 opsies of stop Crohn se siekte, en daarom beëindig die outomatiese skoonmaak wat later kan word predestroy van php.ini of in die script te verander prodoljitelnost lewe sessies met'n veranderlike max. Ek persoonlik verkies die tweede opsie. Nogal oor die algemeen skoon te maak, maar daar is'n nadeel – ако се презапише файлът промените ни ще се изгубят което си е неприятен факт.

ps. Сега като се замисля вероятно ако се дефинира друго място където да се съхранява сеиината информация чрез самото php би трябвало да излезе извън обхвата на скрипта и по този начин да се използва пак по нормален сесията без да прекъсва грубо.

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

Versterk deur Zemanta

Vandag het ek sal jou vertel oor die probleme rondom die enkele bediener Suhosin embleem stof en hoe Debian Sqeeze gaan met dit. Nou laat ons begin'n bietjie uit die verte. Wanneer jy installeer php in'n Debian stelsel (stabiele vir die ander ek weet nie hoe anders) seker dat jy het om te installeer die suhosin mod om dit te. Ek het probleme met een PLU-kadyra stelsel geskryf in php, en ek het cardinalate oplossing in plaas van om die ontfouting van die stelsel en terug rapporteer aan die ontwikkelaar om die vrylating van'n pleister vir die sekuriteit te red hoofpyn. In die Algemeen, het ek veilig kan sê dat dit was een van die mees dom besluite ooit. Eerste verwyder die module php5-suhosin herlaai web bediener-en'n pak balk – pleister-'n steeds gelaai. Na'n baie kort oorsig van vind, die pakket stel en loop direk in die kode, wat beteken dat daar geen skakel of verwyder as jy dit nie doen nie het om te heropstel die kode weer sonder die kol. Besluit wat jy sal gryppa en precompilers in deb pakket. Gedoen het gesê gedoen ek maak'n apt-get bron php5 trek my huidige bron-kode, eie en ander. Hier is my perfekte idee om die aflaai van die bron-kode pakket te verwyder van die pleister en heropstel die lêer weer in die pakket, plus twee klein optimalisaties by die opstel van. Sê oortreding was gemaak – Ek verwyder onnodige pleister van debian/kolle/suhosin.embleem stof Ek verwyder dit, en speel nie debian/kolle/reeks. Hier is alles duidelik en sonder probleme. Toe het ek stel die pakket met debuild en soos ek verwag my klap bou as gevolg van die vermiste bron-kode. Natuurlik, dit sou nie sulke mislukkings – maar, ek is met debian netinstall. Herstel van die dele haastig om sy dwaasheid om te re-release versamelings, by een punt weer Premier net, wat is met die vreemde fout in die Zend/zend_stream.h of .c ek kan nie onthou presies (as ek laat is om te kyk, watter lêer en watter lyn klink). Na nedoumevala wat gaan aan en hoekom die hel hum kern Zend – waar sou alarm vir enige rede en'n bietjie van'n lang navorsing het bevind dat hierdie probleem is relatief skaars en nie baie van die seine vir hom. Ek vermoed dat enige van die kolle in die kode nie so nie, maar nou het ek die senuwees te check dit uit. Hmmmmm vreemd super weird. Amper besluit om te heropstel php, maar ek het besluit om te probeer om spieël dotdeb laat ons sien wat sal gebeur. Daar het die projek het gesterf as gevolg van'n vreemde afhanklikheid, maar tussen die probleme in die belangrikste deel. Wat, op sy beurt, verstaan hulle, hulle 30-40 kolle wat in'n stabiele pakket. Na'n lang en onsuksesvolle pogings ek het moeg en draai af van die pakket en dit is saamgestel met byna debian-ski opsies met die idee om te herskryf my huidige setup en te installeer nuwe pakkette met die indiening kan'n gedrag, 'n pakket van die repository (waarskynlik nie obosobeni redelike oplossing). Soos ek verwag het, nie almal van die kolle, die installasie het glad verloop. Is die uitset config.lekker my lêer:

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

Hierdie opset is naby aan hierdie versameling van dotdeb. Като основаното и най важно е prefix опцията където ще се разполагат файловете с библиотеките на php. Него както и другите пъти ги коригирайте според вашата система така че да не се усети компилацията с промяна на пътищата.

Versterk deur Zemanta

Vector logo of the PHP programming language wi...

Vandag sal verlig word maklik is om te lees vir php kas op html. Hier praat ons oor uitset caching kode vir ons, en nie, soos ek geskryf het aan die verwerker kas op te skrapovye opcode vlak eAccelerator. So, wat is dit – laat ons onthou vinnige werk php dit. Versoek web bediener-dit neem'n amerikaanse opsies wat ons bied, dat hy stuur na'n php script, dit is saamgestel en nie omgee oor die resultaat in die html-opsie. Dit is in baie Algemene terme. Die idee hier sal ons gaan oor die navrae, ons sal beweeg groot blokke of as groot blokke, izrisoval sodra kompilowanie uitset. Die voordele is voor die hand liggend – namelena hardloop tyd, kleiner las en hulpbron verbruik. As'n reël, nie'n ontdekking van warm water of iemand wat weet hoe moeilik dit. Daar is verskeie klasse vir hierdie doel PHP Peer Cache_Lite wat'n wonderlike funksionaliteit, maar ek dink in die toekoms te skryf my nogal'n verligting struktuur en my vereistes vir die kas. Nou is ons kyk na die geval met aboriginal Uitset Beheer Funksies. So laat se kas die CPU vir iets –

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

Die bogenoemde kode is triviale, maar laat ek verduidelik wat gebeur het. Eers verklaar watter deel van die kode begin caching. Jy skep dan'n standaard metode van uitset-kode. След това генерирания изход се присъединява към променлива която ще е достъпна по късно дали през файл някакво или през sessions това си е ваше решение. Накрая изчистваме и прекратяваме кеширането. Съвсем тривиална операция ако да речем геенрирането на кеша минава през огромни блокове от код така можем да спестим доста процесорно време като кешираме за известно време или за една сесия. Вече всичко опира то това какво искате дали да е общодостъпен кеша или да е достъпен за различен потребител.

Versterk deur Zemanta