Forum und email

Fordítás forrásból

Mielőtt belevágunk, érdemes megválaszolni azt a kérdést, hogy: "Miért olyan nehéz a fordítás Windows alatt?". Két indokra vezethető vissza:

  1. A Windows (még) nem rendelkezik fejlesztők olyan nagy lélekszámú csapatával, akik szabadon szeretnék megosztani egymás közt forrásaikat. Ennek közvetlen következménye, hogy az ilyen fejlesztésekhez szükséges, elengedhetetlen infrastruktúrális beruházások még nem történtek. Nagyjából a hozzáférhető eszközök mindegyikét Unix alól "hozták át", ezért nem kell meglepődni, ha ez az örökség időnként nagyon szembeötlő.
  2. Az itt következő uasítások legtöbbje "csináld és felejtsd el" jellegű, ezért dőlj hátra, és próbáld meg a lehető leghűségesebben követni azokat.

Követelmények

Ahhoz, hogy a PHP-t lefordítsd, szükséged lesz egy Microsoft fejlesztői környezetre. A Microsoft Visual C++ 6.0-ot ajálnjuk. A letöltött fájlok kicsomagolásához szükséged lesz egy kitömörítő alkalmazásra (pl. Winzip). Ha még nincs unzip programod, letölthetsz egy ingyenes verziót az » InfoZip-től.

Mielőtt elkezded, le kell töltened...

Végül kell maga a PHP 4 forrása. A legutolsó fejlesztői változatra szert tehetsz » anonim CVS-t vagy a » snapshot-ot használva vagy a legfrissebb » forrás tar-t letöltve.

Az egész összerakása

Miután letöltötted a szükséges csomagokat, ki kell tömörítened egy megfelelő helyre.

  • Készíts egy munkakönyvtárat, ahová a kitömörített fájlokat teheted, pl: C:\work.
  • Készíts egy win32build könyvtárat a munkakönyvtárad alá (C:\work) és ide csomagold ki a win32build.zip fájlt.
  • A munkakönyvtáradba (C:\work) hozd létre a bindlib_w32 könyvtárat, majd a bindlib_w32.zip ide tömörítsd ki.
  • A letöltött PHP forráskódot a munkakönyvtáradba csomagold ki (C:\work).
Ezek után a könyvtárstruktúrád így kell kinézzen:

+--c:\work
|  |
|  +--bindlib_w32
|  |  |
|  |  +--arpa
|  |  |
|  |  +--conf
|  |  |
|  |  +--...
|  |
|  +--php-4.x.x
|  |  |
|  |  +--build
|  |  |
|  |  +--...
|  |  |
|  |  +--win32
|  |  |
|  |  +--...
|  |
|  +--win32build
|  |  |
|  |  +--bin
|  |  |
|  |  +--include
|  |  |
|  |  +--lib

Hozd létre a c:\usr\local\lib könyvtárakat. Másold a bison.simple állományt a c:\work\win32build\bin-ből a c:\usr\local\lib-be.

Note: A » Cygwin-t haszmálók kihagyhatják az legutóbbi lépést. Egy megfelelően telepített Cygwin környezet tartalmazza a szükséges bison.simple és bison.exe fájlokat.

Az MVC ++ konfigurálása

A következő lépésben az fordításhoz szükséges MVC ++ -t állítjuk be. Indítsd el a Microsoft Visual C++ -t, majd a menüből válaszd ki a Tools => Options pontot. A párbeszédablakban válaszd a directories fület. A legördülő listából sorjában válaszd ki az Executables, az Includes és Library files pontokat. Egy jellegzetes listabejegyzések valahogy így mutatnak:

  • Executable files: c:\work\win32build\bin, Cygwin-t használóknak: cygwin\bin
  • Include files: c:\work\win32build\include
  • Library files: c:\work\win32build\lib

Build resolv.lib

Le kell fordítanod a resolv.lib könyvtárat. Döntsd el, hogy debug szimbólumokkal (bindlib - Win32 Debug) vagy anélkül (bindlib - Win32 Release) szeretnél fordítani. Készítsd el a neked megfelelő konfigurációt:

  • Grafikus felületet használóknak: indítsd el a VC++ programot, válaszd ki a File => Open Workspace menüpontot, keresd meg a c:\work\bindlib_w32 könyvtárat, válaszd ki a bindlib.dsw-t. Ezután válaszd a Build=>Set Active Configuration-t, majd add meg a kívánt konfigurációt. Végül válaszd a Build=>Rebuild All menüpontot.
  • Parancssort használóknak: bizonyosodj meg arról, hogy a C++ környezeti változók be vannak állítva vagy hogy futtattad a vcvars.bat-ot, majd hajtsd végre a következő parancsokat:
    • msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"
    • msdev bindlib.dsp /MAKE "bindlib - Win32 Release"
Ezen a ponton kell rendelkezzél egy használható resolv.lib-bel akár a c:\work\bindlib_w32\Debug akár a Release alkönyvtárban. Másold át ezt a fájlt a c:\work\win32build\lib könyvtárba, felülírva a már létező ugyanolyan nevű fájlt.

Fordítás

A kezdésként legjobb egy CGI verziót fordítani.

  • Grafikus felületet használóknak: indítsd el a VC++ -t, nyisd meg a php4ts munkaterületetet (File => Open Workspace és válaszd ki a c:\work\php-4.x.x\win32\php4ts.dsw-t). Ezután: Build=>Set Active Configuration, és válaszd ki a kívánt konfigurációt, php4ts - Win32 Debug_TS vagy php4ts - Win32 Release_TS, és végül: Build=>Rebuild All.
  • Parancssort használóknak: győződj meg arról, hogy a szükséges C++ környezeti változók legyenek beállítva vagy a vcvars.bat le lett futtatva, ezután add ki valamelyik alábbi parancsot a c:\work\php-4.x.x\win32 könyvtárból:
    • msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"
    • msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"
    • Ennél a pontnál a Debug_TS vagy a Release_TS alkönyvtárban kell lennie egy használható php.exe fájlnak.

Lehetséges a fordító folyamat kissebb testreszabása a main/config.win32.h szerkesztése által. Például megváltoztathatod a php.ini helyét, a beépített kiterjesztéseket, valamint a kiterjesztések alapértelmezett helyét.

Ezután készíthetsz egy CLI verziót, ami a PHP parancssorból történő futtatására van tervezve. A lépések hasonlóak a CGI verzió készítésének lépéseihez, kivéve, hogy a php4ts_cli - Win32 Debug_TS vagy a php4ts_cli - Win32 Release_TS projekt fájlt kell kiválasztanod. Egy sikeres fordítás után egy php.exe-t kell találnod a Release_TS\cli\ vagy a Debug_TS\cli\ könyvtárban.

Note: Ha szeretnél használni PEAR-t és a kényelmes parancssori telepítőt, a CLI-SAPI kötelező. További információért a PEAR-ről és a telepítőről olvasd el a » PEAR dokumentációt.

Ahhoz, hogy a PHP-nek a Microsoft IIS-hez történő integrálásához szükséges SAPI modult (php4isapi.dll) elkészítsd, a konfigurációdat a php4isapi-whatever-config-ra állítsd be, majd fordítsd le a kívánt dll-t.