PHP Сграда от източник под прозорците

Изграждане на PHP от източник на Windows

Инструкции за изграждане на PHP под WinNT, използвайки Microsoft Visual C ++

  • Пакет Cygwin инструменти бизони и шнур.
  • Bindlib DNS Библиотека Подкрепа търсене.
  • Number4 допълнения към математическата част.
  • Win32Build готови библиотеки, необходими за сглобяване.
  • MSSQL Програмиране от библиотеки в рамките на MS SQL 6.5.
  • CVS клиент за CVS хранилище е необходимо, за да свалите PHP код.

Също така е необходимо файлове от MSVC ++ 6.0 (само за MSVC ++ 5.0 потребители)

  • OLE - постави в VC \ включи. Необходим е за подкрепа COM.
  • HTTP - преименуване на разположение * .Задръжте и поставете нов VC \ включи. Са необходими за монтажа на филтъра за ISAPI.

МОНТАЖ

Монтаж на пакет Cygwin, например в директорията C: \ Program Files \ Cygnus, в НЗ, че е необходимо да има променлива среда, със стойност Cygwin% SystemDrive% \ Program Files \ Малко Шарково \ Cygwin-b20

Ето как: Отидете на Start-> Settings-> Control PANNEL стартирате System прекия път, изберете Environment карта на нея като щракнете върху прозореца на системни променливи в долната част на две променливи и Value линия в Променлива линия напиши Cygwin и ред Стойност% SystemDrive% \ Program Files \ Малко Шарково \ Cygwin-b20 и щракнете върху и след това Apply.

Създаване на директория корен Tmp на системния диск, а просто да добавите променлива със стойност на TMP% SystemDrive% \ Tmp. Като прибавим към променлива пътя на пътя% SystemDrive% \ Tmp

Натиснете Apply и OK. След това трябва да се рестартира.

Разширете win32build.zip архив до директория, като например C: \ Win32build

В момента тече MSVC ++ 5.0 среда отидете на Tools-> Options на картата с Directory и да добавите към форумите

Следният път в зависимост от случая:

  • C: \ Program Files \ Малко Шарково \ Cygwin-b20 \ Н-i586-cygwin32 \ бин
  • C: \ Win32Build \ включва
  • C: \ Win32Build \ ИЪ

Разширете Bindlib_w32.zip в указателя, като например C: \ Bindlib, гледайки го bindlib.dsp проектен файл и да го събират от околната среда MSVC. директория C The: \ Bindlib \ Debug ще resolve.lib, тя трябва да бъде написана на директорията C: \ Win32Build \ Lib над стария.

Монтаж на CVS клиент (инструкции за употреба) и да изтеглите изходния код на PHP (php4, TSRM, Zend), Napimer в директорията C: \ PHP4, C: \ Tsrm и C: \ Zend, тогава каталогизира TSRM и Zend ход в php4 директория.

Number4.tar.gz разопаковането на C: \ Number4 и сложи съдържанието на C: \ PHP4.

Ние подпечатва в папка C: \ PHP4 \ Tsrm и събира TSRM.dsp, след сглобяване в директорията C: \ PHP4 \ Tsrm \ Debug ще Tsrm.lib, за да копирате в C: \ Win32Build \ Lib.

Отидете в папка C: \ PHP4 \ Zend, отворен ZendTS.dsp проекта и да се събере след събранието в директорията C: \ PHP4 \ Zend \ Debug библиотека ще ZendTS.lib, за да копирате в C: \ Win32Build \ Lib.

Отидете в папка C: \ PHP4 и отворен php4ts.dsp проект. Тя първите 4 проекти събира php4ts (не забравяйте да зададете активната проекта Проект-> Set Active проект-> php4ts).

След монтажа в директорията C: \ PHP4 \ Debug ще php4ts.lib файл, файлът php4ts.dll, намиращ, php.exe. Php4ts.lib отново копират в директорията C: \ Win32Build \ Lib. Тази библиотека е необходимо да се изгради външни модули PHP, например, за MSSQL за поддръжка на модул.

Осъществяване на активно php4isapi проекта и да се събере. В директорията C: \ php4 \ САПИ \ ISAPI \ отстраняване на грешки ще лежи php4isapi.dll - филтър за IIS.

Известни бъгове, които пречат адски много работа и начини на лечение

1. Чрез елементите върху форми не са бърз пренос на данни по-голям от 4K, а не общите качвате файлове по-големи от 4K. php4.exe процес виси и може да бъде отстранен само IISa рестартиране. (Пиша в доклада за грешка, но когато поправката не е ясно, опитайте се да го оправя сам) .Reshenie: Управлява с помощта на PHP 3.12-3.14 за форми на отговор на лечението на файлове. По-бавно, но тя работи.

2. При извършване на динамичен код, в които използването на сериализирани променливи резултати за синтактичен анализ oshtbku. Например:

Това се случва, се дължи на факта, че през четвъртото версия на героите <> използвани за капсулиране низ променлива, например $ а = "Такъв е елемент";

Но сериализирани представяне на масива съдържа също символи <>.

В примера, описан по-горе, анализатор опитва да капсулира израз, който всъщност е израз на това, което е и не е, и естествено пада с грешка.

модул монтаж Php 4.03 Betta за MS SQL 6.5 (mssql.dll)

Разопаковане mssql.zip. * .lib хвърлен в C: \ Win32Build \ Lib и * .h в C: \ Win32Build \ Включване.

Ние подпечатва в папка C: \ PHP4 \ вътр \ MSSQL и отворена среда в проект MSVC mssql.dsp.

Отиди проектно> Настройки на C / C ++ в картата Допълнителна включва добавят директории. \ .. \ Tsrm, раздел Препроцесор добавите COMPILE_DL, ZTS, MSSQL65, DBNTWIN32, а в обекта на раздел / Библиотеки модули върху връзката на карта добавят php4ts.lib, ntwdblib.lib. Тогава ние се съберат на проекта. В директорията C: \ PHP4 \ вътр \ MSSQL \ Debug ще mssql.dll.