Noin 2 viikon php 5.3 meni historiaan hitaasti mutta varmasti. 11. ilmoitti lopettavansa sen sisältöä, ja se julkaistaan vain tietoturvapäivityksiä 1 vuonna. Enimmäkseen PHP 5.4 tapahtuu vaiheittain ja vanha vakaa PHP 5.5 se vakaa, se oli vähän hassua, koska toinen osa add-ons ja laajennuksia php ei toimi aivan oikein, mutta ja versio 5.5 melko uusi, joten pidättäydyn tapahtuu se.

- Puhutaan maahanmuuton minulle 5.4 alkaen 5.3. Oli aiemmin lähetetty tiedot sillä vanhentunut toiminnot, ne, jotka ovat muuttuneet, muuttuneet, ja ne, jotka ovat ei enää tueta, joten meillä ei ole mitään draamaa, ja molemmin puolin, jos polttaa tai ei 😉 Th aamulla muuttoliike noin 7 koska se tuli, ottaa vähän kipua siirron aikana, jos et läpäise sujuvasti. Suureksi yllätyksekseni, kaikki meni enemmän kuin sujuvasti – kokoaa PHP 5.4.17 Aloitin apache-ja taivas on kaikki siellä. Nopea katsoa ympärilleen lokit ei ole roar depricated tai jopa tuntemattomia toimintoja – ilmeisesti kaverit tekivät hyvää työtä. Sitten voisin vain precompiler kiinni ja se toimii vanha API, kuten APC, RAR-ja muut. Toinen uudelleenkäynnistys ja kaikki nukkuivat. Odotan parannuksia suorituskykyyn, kuten kaikkialla ihmiset kohta peukalolla, torit, jossa hän osoittaa, miten PHP 5.4 kuluttaa vähemmän MUISTIA ja suorittaa skriptejä nopeammin.

Muutama päivä sitten tuli ulos XAMPP 1.8.0 eilen päivityksen jälkeen versio 1.7.7 Minulla on mielenkiintoinen ongelma. Phpmyadmin ei ole auki, ja minä rullattu kanssa 403

Pääsy kielletty!


Uusi XAMPP security-käsite:

Pääsy pyydetty objekti on käytettävissä vain paikallisessa verkossa.

Tämä asetus voidaan konfiguroida tiedosto “httpd-xampp.Conf”.

Heti avasin httpd-xampp.conf, joka minulla on on /opt/lampp/etc/extra/, ensi silmäyksellä, kaikki näyttää hyvältä. Säännöt LAN oli OK. Yhdessä avaaminen paikallinen. WTF ??? Katsoin kirjautuminen ja näen, että minun pääsy on leikattu pois konfiguratuta. Nyt en ahaha, ja rehellisesti sanottuna, hieman onnea, löysin ongelma. След като преглеждах httpd.conf-а видях в Allow/Deny клаузите един последен ред Vaadi kaikki myönnetyt. Noin Eureka!. Tämä on uusi valvontajärjestelmä, joka sisältyy apache 2.4.x. Hänen kanssaan ei anna pääsyä tai luopumista tällaisia tarvitaan, pohjimmiltaan matkivat Käyttöön/poistaa toimintoja :). За да поправим проблема добавяме Require all granted в директивите за папката /opt/lampp/phpmyadmin. Vaihtamisen jälkeen minun näyttää niin

<Hakemisto “/opt/lampp/phpmyadmin”>
AllowOverride AuthConfig Limit
Jotta sallia,ban
Salli kaikki
Vaadi kaikki myönnetyt
</Hakemisto>

 

Vaikka se on totta, voit kokeilla toista villi, esimerkiksi, voit nimetä phpmyadmin kansioon jotain muuta ja eivät alias. Mutta se on ruma eikä erityisen merkittäviä 🙂

p.s Kysyi minulta, miksi käytän XAMPP sijaan puhdas asennus kaikki komponentit, ja se on, minun Debian syntyi – отговорът е много много простМЪРЗЕЛ. Мързи ме да напиша няколко команди после да си пипна конфовете и прочие. Доста по лесно е сваляш целия пакет разархивираш и палиш 😉

Parannettu Zemanta

Debian OpenLogo

Eräänä päivänä ystäväni kirjoitti minulle, että minulla oli ongelma Debian -palvelin. Ei aivan hoidettu yli sessiite 30 Ei ole väliä kuinka monta minuuttia perustaa Session.gc_maxlifetime. Periaatteessa ongelma on, että Debian on päättänyt uudelleen kirjoittaa istuntojen toiminta sen sijaan roskienkerääjä-ja käynnistetään yksi cron joka 9 minuuttia joka siivoaa vanhoja istuntoja. Hän on in/etc/cron.d/php5

kaiken kaikkiaan sempličk skripti, joka puolestaan käynnistää/usr/lib/php5/maxlifetime ja muuttuva kauanko on evästeen, jota elämä 1440 sekuntia tai 24 Tästä lähtien siellä on 😉 2 vaihtoehtoja tai voit lopettaa kruunu ja siten lopettaa Automaattinen puhdistus, jotka voivat myöhemmin uudelleensuuntaus php ini tai suoraan script muuttaa elämä pitkäikäisyys istuntojen muuttuva max. Itse mieluummin toinen vaihtoehto. Aika siisti on yleinen, mutta haitta – Jos korvaat tiedoston muutokset menetetään mikä on hankala se.

PS. Nyt, kun ajattelen luultavasti, jos määritellään jossain muualla jos tallentaa php info kautta seiinata pitäisi mennä pidemmälle kirjoitus ja voidaan käyttää uudelleen normaali istuntoa keskeyttämättä töykeä.

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

Parannettu Zemanta

Tänään aion kertoa murheet noin yhden palvelimen Suhosin laastari ja miten Debian Sqeeze käsitellä sitä. Nyt alkaa hieman kaukaa. Kun asennat php-Debian-järjestelmä (vakaa muista en tiedä, miten muuten) varma, sinun täytyy asentaa suhosin mod se. Minulla oli ongelmia yhden PLU-kadyra järjestelmä kirjoitettu php, ja otin cardinalate ratkaisu sen sijaan tehdä testaus järjestelmän ja raportoimaan kehittäjä vapauttaa korjaustiedoston turvallisuus säästää päänsärkyä. Yleensä, voin turvallisesti sanoa, että se oli yksi tyhmimpiä päätöksiä ikinä. Poista ensin moduuli php5-suhosin käynnistä web-palvelin-ja pack palkki – patch-vielä ladattu. Kun hyvin lyhyt yleiskatsaus löytää, paketti kokoaa ja toimii suoraan koodia, mikä tarkoittaa, että ei ole poistaa käytöstä tai poistaa, jos sinun ei tarvitse kääntää koodin uudelleen ilman laastari. Päättää, mitä sinun tulee gryppa ja precompilers vuonna deb-paketti. Tehnyt sanoi tehnyt teen apt-get source php5 vetää minun nykyinen lähdekoodi, omien ja muiden. Tässä on minun täydellinen idea ladata lähdekoodin paketti poistaa laastari ja kääntää tiedoston uudelleen paketti, plus kaksi pientä optimointeja laadinnassa. Sanoi, että rikos oli tehty – Poistin tarpeettomat laastari päässä debian/laastaria/suhosin.laastari Poistin sen, ja ei pelata debian/laastaria/sarja. Täällä kaikki on selkeä ja ilman ongelmia. Sitten voin koota paketin kanssa debuild ja kuten olen odottanut, että pamahti rakentaa puuttuvien lähdekoodi. Tietenkin, että ei olisi niin epäonnistumisia – kuitenkin, olen debian netinstall. Palauttaminen osat hätäisesti hänen hulluutta re-release kokoelmat, jossain vaiheessa taas Premier vain, mitä on outo virhe Zend/zend_stream.s tai .c en muista tarkalleen (jos saan myöhään tarkistaa, mikä tiedosto ja joka line kuulosti). Kun nedoumevala, mitä on tekeillä ja miksi hum Zend core – mistä sirinä jostain syystä ja hieman pitkä tutkimus havaitsi, että tämä ongelma on melko harvinaisia, ja ei ole kovin signaaleja hänelle. Epäilen, että mitään laikkuja koodi ei niin, mutta nyt minulla on hermot tarkista se ulos. Hmmmmm outoa, tosi outoa. Lähes päättänyt kääntää php, mutta päätin kokeilla peili dotdeb katsotaan, mitä tapahtuu. Siellä hankkeen kuoli, koska outo riippuvuus, mutta välillä ongelmia, tärkein osa. Tämä puolestaan ymmärsi heitä, he 30-40 laikkuja, jotka olivat vakaa paketti. Jälkeen pitkä ja epäonnistuneita sain väsynyt ja kääntyi pois paketista ja se on käännetty lähes debian-ski vaihtoehtoja idea kirjoittaa minun nykyinen setup ja asentaa uusia paketteja arkistointi voi olla käyttäytymistä, paketti arkistosta (luultavasti ei obosobeni järkevä ratkaisu). Kuten odotinkin, ei kaikki laastarit, asennus meni sujuvasti. On output config.mukava minun tiedosto:

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

Tämä kokoonpano on majoitusliike, tämä kokoelma dotdeb. Tärkein-on etuliite-vaihtoehto, jos sinulla on tiedostoja php kirjastot. Ja toisinaan korjata mukaan järjestelmän niin, että et tunne tiet kokoelma muuttaminen.

Parannettu Zemanta

Vector logo of the PHP programming language wi...

Днес ще драсна едно леко четиво за php cache päälle 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 това си е ваше решение. Накрая изчистваме и прекратяваме кеширането. Съвсем тривиална операция ако да речем геенрирането на кеша минава през огромни блокове от код така можем да спестим доста процесорно време като кешираме за известно време или за една сесия. Вече всичко опира то това какво искате дали да е общодостъпен кеша или да е достъпен за различен потребител.

Parannettu Zemanta