Компіляція php в windows

Компіляція PHP з початкових кодів частіше робиться на Unix-подібних систем. Ті, хто працює в середовищі ОС Windows, швидше за все, завантажить і встановить PHP з бінарних пакетів. І хоча я не згоден, що це простіше у використанні, попередньо скомпільовані рішення, навіть на системах Unix є деякі переваги, які можуть прийти з складанням двійковій від джерела. В загальному:







  • У вас є можливість тонкої настройки кінцевого продукту при компіляції. Може бути, ви хочете певне розширення яке компілюється безпосередньо в довічним, а не завантажувати його в якості зовнішньої бібліотеки. Або, можливо, ви хочете, вимкнути то що особливістю якого, як правило, є за замовчуванням.
  • Ви можете зробити хитрість, в процесі компіляції, якщо потрібно, які можуть підвищити продуктивність для конкретної середовища (звичайно, це передбачає, що ви вже знаєте, що ви робите в цьому випадку ви б не читали цю статтю!).
  • Компіляція може бути єдиним способом змусити речі працювати, якщо скомпільовані виконавчі файли були побудовані на більш старих версіях з підтримкою програмного забезпечення і бібліотек, а зараз Ви працюєте на новій системі.

Налаштування середовища збірки

Ви також повинні встановити програмне забезпечення Windows Development Kit (SDK після). SDK дає нам важливі файли заголовків для платформи Windows, яка нам знадобиться для успішної компіляції. Це теж можна безкоштовно скачати. використовувалася версія 7.1.

Встановіть компілятор, а потім SDK. Я не буду обговорювати установку, так як обидва мають графічний майстер установки, проведе вас через весь процес.

Це, ймовірно, само собою зрозуміло, що ви хочете завантажити джерело PHP, а також від windows.php.net. На момент написання цієї статті, поточна версія PHP 5.4.6, так що цей номер версії ви побачите в прикладах.

Це гарна ідея, щоб створити робочий простір, до якого можна розпакувати вихідний код і компілювати що б вони не впливали на іншу частину Вашої системи. Створіть папку C: \ PHP-Dev. яка будуть служити в якості робочого каталогу, а потім розпакувати в ній бінарний архів і інструменти.

Далі, розпакуйте вміст архіву, джерело PHP в C: \ PHP-Dev тепер у вас є php5.4 у вихідній папці, а потім витягти його архів deps в однорівневу папку deps. Структура каталогу повинна виглядати приблизно так:

Відкрийте Windows SDK Command Prompt, яка була встановлено з SDK (Start => Microsoft Windows SDK => Windows SDK Command Prompt) і виконати наступні команди:

За допомогою командного рядка консолі SDK бажано перед звичайним cmd.exe консолі, як вона задає багато змінних середовища, специфічних для компіляції вихідного коду. Компіляції команд пізніше також повинні бути виконані в цій консолі.

phpsdk_setvars.bat сценарій виходить на деякі додаткові змінні оточення, процес складання зміг знайти бінарні інструменти.







Майте на увазі, що всі ці змінні настройки тільки тимчасові сесії в консолі. Якщо ви все швидко закриєте що б повернутися до компіляції пізніше, вам необхідно буде виконати команду ще раз, а якщо ви цього не зробите, ви будете отримувати помилки на кшталт такого, коли ви пізніше запустіть налаштувати, ви не зможе продовжити:

Переконавшись, що у вас є правильна Серед збудованих, необхідні джерела, і ніяких залежностей найскладніша частина процесу. Так що тепер ваша середу налаштована з вихідного коду і залежностей в своєму місці, прийшов час компіляції!

компіляція PHP

У командному рядку SDK, перейдіть в папку джерело PHP і запустити buildconf. Команда відповідає за генерацію конфігураційних файлів, які будуть створені Makefile для управління процесом компіляції.

Після buildconf завершує (це займе всього секунду), налаштуйте configure --help - і вивчити допомогу, які функції ви хочете включити / вимкнути, а потім знову запустіть configure (настройки) з будь-якої бажаної опцією. Це гарна ідея, щоб перевірити вихідні перед переходом, оскільки він попередить вас, якщо будь-який з необхідних залежностей не доступні. Якщо це станеться, ви можете або встановити залежності і повторно запустити настройку ще раз або відрегулюйте виклику для відключення розширень, які їх потребують.

Нарешті, запустіть NMAKE. щоб почати компіляції.

Якщо будь-яка конфігурація або NMAKE не вдається, проблема одна з двох: Перша, середовище не налаштована правильно, друге ви включили функцію, яка залежить від зовнішніх бібліотек і бібліотеки не встановлені у вашій системі. Двічі перевірте, що ви створили навколишнє середовище відповідно до інструкцій вище, і що будь-які додаткові бібліотеки, які можуть знадобитися в основі, параметри конфігурації були налаштовані.

Коли перший NMAKE процесу компіляції завершено ви знайдете свій новенькі PHP файли в папці Release_TS. NMAKE тест запускає нові подвійні через ємність помилка тестів, щоб переконатися, що все працює як і повинно бути. Результати тестів NMAKE направляються в QA команда, яка залежить від них, щоб поліпшити PHP, так що це може зайняти кілька хвилин, для роботи, це відповідальна справа.

На цьому етапі ви також можете скористатися додатковим кроком ведення NMAKE оснастки, яка створить ZIP архіви і виконавчі файли, які можна скопіювати навколо.

компіляція extensions

Є два шляхи для компіляції PHP extensions (розширень): статично і динамічно. Статично скомпільовані розширення компілюється в бінарний PHP, в той час як динамічно скомпільованих один окремий DLL, які можуть бути завантажені пізніше через php.ini файл. Розширення, як правило, складений за станом DLL, хоча є деякі переваги для статичної компіляції, а також, в кінцевому підсумку це залежить від ваших потреб.

Для компіляції PHP extensions (розширень) на Windows, екстракт розширення вихідного коду папку, в ext папку вашу директорію-джерело PHP. Потім, заново налаштувати скрипт, запустивши buildconf - force і перекомпіляції PHP, використовуючи відповідні пункти, щоб включити розширення.

Як приклад, давайте компіляції розширення AOP статично. Завантажити вихідний код з PECL. і розпакуйте його в папку, в ext. Потім виконайте наступні дії:

Опцією --force, buildconf сила їй відновити конфігураційний скрипт. Потім, запустіть configure --help і ви повинні побачити варіант включити нове розширення на виході. У цьому випадку, це --enable-AOP.

Коли nmake finishes закінчується, ви повинні будете недавно побудований PHP двійковий PHP з AOP.

Розширення будуть доступні як DLL, а не спечений в PHP, ви можете виконати ті ж дії, що і вище, але визначати "shared" (загальні) в якості значення для настройки, дозволяє варіант.

В результаті DLL буде в папці Release_TS разом з двійковим PHP компіляція закінчиться, в даному випадку ім'я php_aop.dll.

Компіляція в Windows, все ще трохи складна, особливо коли справа доходить до розширення. Можливість компілювати вихідний код хороший навик, особливо якщо згодом ви захочете змінити PHP.

Закзать шаблон для Amiro CMS по інтернету.
- - - - - - - - - - - - - - -







Схожі статті