Compilarea PHP din codul sursă este adesea efectuată pe sistemele de tip Unix. Cei care lucrează într-un mediu Windows pot descărca și instala PHP din pachetele binare. Și, deși nu sunt de acord că este mai ușor să folosiți o soluție precompilată, chiar și pe sistemele Unix există câteva avantaje care pot veni cu compilarea unui fișier binar de la sursă. În general:
- Aveți posibilitatea să reglați fin produsul final când compilați. Poate doriți ca o extensie specifică care este compilată direct în binar, mai degrabă decât să o încărcați ca o bibliotecă externă. Sau, poate doriți să opriți ceva care este o caracteristică care este de obicei disponibilă în mod implicit.
- Puteți face acest truc, în procesul de compilare, dacă este necesar, ceea ce poate îmbunătăți performanța pentru un anumit mediu (desigur, acest lucru presupune că deja știți ce faceți în acest caz nu ați fi citit acest articol!).
- Compilarea poate fi singura modalitate de a face lucrurile să funcționeze dacă binarele compilate au fost construite pe versiuni mai vechi, cu suport pentru software și biblioteci, iar acum lucrați la un nou sistem.
Configurarea mediului de construcție
De asemenea, trebuie să instalați software-ul Windows Development Kit (SDK după). SDK-ul ne dă fișiere de antet importante pentru platforma Windows, pe care trebuie să le compilam cu succes. Acest lucru poate fi descărcat gratuit. versiunea 7.1 a fost utilizată.
Instalați compilatorul, apoi SDK-ul. Nu voi discuta despre instalare, deoarece amândoi au un vrăjitor de instalare grafică, vă vor ghida în întregul proces.
Acest lucru este, probabil, de la sine înțeles că doriți să descărcați sursa PHP, precum și de la windows.php.net. În momentul acestei scrieri, versiunea curentă a PHP 5.4.6, deci acest număr de versiune veți vedea în exemple.
Este o idee bună să creați un spațiu de lucru la care să puteți despacheta codul sursă și să îl compilați astfel încât să nu afecteze restul sistemului dvs. Creați folderul C: \ PHP-Dev. care va servi ca un director de lucru, și apoi să despachetați în el o arhivă binară și unelte.
Apoi, despachetați conținutul arhivei, sursa PHP din C: \ PHP-Dev, acum aveți php5.4 în folderul sursă și apoi extrageți arhiva depselor sale într-un dosar de depsuri la un singur nivel. Structura directoarelor ar trebui să arate astfel:
Deschideți Promptul de comandă SDK pentru Windows care a fost instalat din SDK (Start => Microsoft Windows SDK => Windows Command Prompt Windows) și executați următoarele comenzi:
Utilizând linia de comandă a consolei SDK, este de dorit să precede consolă obișnuită cmd.exe, deoarece stabilește multe variabile de mediu specifice pentru compilarea codului sursă. Comenzile de compilare mai târziu trebuie, de asemenea, să fie efectuate în această consolă.
scriptul phpsdk_setvars.bat merge în unele variabile de mediu suplimentare, procesul de construire a fost capabil să găsească instrumente binare.
Rețineți că toate aceste setări variabile sunt doar sesiuni temporare în consolă. Dacă închideți rapid tot ce se va întoarce la compilație mai târziu, va trebui să rulați din nou comanda și, dacă nu, veți primi erori cum ar fi următoarele, când începeți ulterior să configurați, nu puteți continua:
Asigurați-vă că aveți dreptul de a construi mediul, sursele necesare și fără dependențe este cea mai dificilă parte a procesului. Deci, acum mediul dvs. este configurat din codul sursă și dependențele în locul său, este timpul să compilați!
Compilarea PHP
În linia de comandă SDK, accesați directorul sursă PHP și executați buildconf. Comanda este responsabilă pentru generarea fișierelor de configurare pe care Makefile le va crea pentru a gestiona procesul de compilare.
După ce buildconf completează (este nevoie doar de o secundă), configure configure --help - și examinați ajutorul, ce funcții doriți să activați / dezactivați, apoi executați configurarea din nou cu orice opțiune dorită. Este o idee bună să verificați weekend-ul înainte de tranziție, deoarece vă va avertiza dacă una dintre dependențele necesare nu este disponibilă. Dacă se întâmplă acest lucru, puteți fie să setați dependențele și să reluați din nou setarea, fie să ajustați apelurile pentru a dezactiva extensiile de care au nevoie.
În cele din urmă, începe NMAKE. pentru a începe compilarea.
Dacă nicio configurație sau NMAKE eșuează, problema este una dintre următoarele două: În primul rând, mediul nu este configurat corect, al doilea ați inclus o funcție care depinde de bibliotecile externe și bibliotecile nu sunt instalate pe sistemul dvs. Verificați dublu că ați creat mediul în conformitate cu instrucțiunile de mai sus și că orice alte biblioteci suplimentare de care aveți nevoie la bază, setările de configurare au fost configurate.
Când primul proces de compilare NMAKE este finalizat, veți găsi noile fișiere PHP noi în folderul Release_TS. Testul NMAKE lansează o nouă eroare de test dublu-capacitate pentru a vă asigura că totul funcționează conform așteptărilor. Rezultatele testelor NMAKE sunt trimise echipei QA, care depinde de ele pentru a îmbunătăți PHP, astfel că poate dura câteva minute pentru a lucra, acesta este un lucru responsabil.
În acest moment, puteți beneficia și de pasul suplimentar de menținere a modulului snap-in NMAKE, care va crea fișiere ZIP și fișiere binare pe care le puteți copia în jur.
Compilarea extensiilor
Există două moduri de a compila extensii (extensii) PHP: static și dinamic. Extensia statică este compilată în PHP binar, în timp ce se compilează dinamic un DLL separat, care poate fi descărcat ulterior prin fișierul php.ini. Extensiile sunt de obicei create de starea DLL-ului, deși există câteva avantaje pentru compilarea statică și, de asemenea, în cele din urmă depinde de nevoile dvs.
Pentru a compila extensii PHP (extensii) pe Windows, extrageți extensia de folder sursă, în directorul ext al directorului dvs. sursă, PHP. Apoi, re-configurați script-ul executând buildconf-force și recompilarea PHP folosind elementele corespunzătoare pentru a activa extensia.
De exemplu, să compilați extensia AOP static. Descărcați codul sursă de la PECL. și dezarhivați-l într-un folder în ext. Apoi urmați acești pași:
Opțiunea --force, buildconf forțați-o să restabilească scriptul de configurare. Apoi, executați configurare --help și ar trebui să vedeți opțiunea de a activa noua extensie de pe ieșire. În acest caz, acest lucru este anonabil - AOP.
Când nămicurile se termină, veți avea nevoie de un PHP PHP binar nou construit cu AOP.
Extensiile vor fi disponibile ca DLL, nu sunt coapte în PHP, puteți efectua aceleași acțiuni ca mai sus, dar definiți "partajat" ca valoare pentru setare, permite opțiunea.
Ca rezultat, DLL-ul va fi compilat în folderul Release_TS împreună cu compilația binară PHP, în acest caz numele php_aop.dll.
Compilarea în Windows este încă puțin complicată, mai ales când vine vorba de expansiune. Capacitatea de a compila codul sursă este o abilitate bună, mai ales dacă ulterior doriți să modificați PHP.
Șablonul Zakzat pentru Amiro CMS pe Internet.
- - - - - - - - - - - - - - -