PHP
Kompiluj rozszerzenia PHP
Szukaj…
Kompilowanie w systemie Linux
Aby skompilować rozszerzenie PHP w typowym środowisku Linux, istnieje kilka wymagań wstępnych:
- Podstawowe umiejętności uniksowe (umiejętność obsługi „make” i kompilatora C)
- Kompilator ANSI C.
- Kod źródłowy rozszerzenia PHP, które chcesz skompilować
Ogólnie istnieją dwa sposoby kompilacji rozszerzenia PHP. Możesz skompilować statycznie rozszerzenie do pliku binarnego PHP lub skompilować jako moduł współdzielony ładowany przez Twój plik binarny PHP podczas uruchamiania. Współdzielone moduły są bardziej prawdopodobne, ponieważ pozwalają dodawać lub usuwać rozszerzenia bez przebudowywania całego pliku binarnego PHP. Ten przykład koncentruje się na opcji wspólnej.
Jeśli zainstalowałeś PHP za pomocą menedżera pakietów ( apt-get install
, yum install
itp.), Musisz zainstalować pakiet -dev
dla PHP, który będzie zawierał niezbędne pliki nagłówkowe PHP i skrypt phpize, aby środowisko kompilacji działało . Pakiet może mieć nazwę coś w rodzaju php5-dev
lub php7-dev
, ale pamiętaj, aby użyć menedżera pakietów, aby wyszukać odpowiednią nazwę za pomocą repozytoriów twojej dystrybucji. Mogą się różnić.
Jeśli zbudowałeś PHP ze źródła, pliki nagłówkowe najprawdopodobniej już istnieją w twoim systemie ( zwykle w /usr/include
lub /usr/local/include
).
Kroki do kompilacji
Po sprawdzeniu, aby upewnić się, że masz wszystkie wymagania wstępne niezbędne do skompilowania, możesz udać się na stronę pecl.php.net , wybrać rozszerzenie, które chcesz skompilować, i pobrać plik tar.
- Rozpakuj tar smołę (np.
tar xfvz yaml-2.0.0RC8.tgz
) - Wpisz katalog, w którym rozpakowano archiwum i uruchom
phpize
- Powinieneś teraz zobaczyć nowo utworzony skrypt
.configure
jeśli wszystko poszło dobrze, uruchom ten./configure
- Teraz musisz uruchomić
make
, który skompiluje rozszerzenie - Na koniec,
make install
skopiuje skompilowane rozszerzenie pliku binarnego do katalogu rozszerzenia
Etap make install
zazwyczaj zawiera ścieżkę instalacji dla miejsca, w którym rozszerzenie zostało skopiowane. Zwykle znajduje się w /usr/lib/
, na przykład może to być coś /usr/lib/php5/20131226/yaml.so
. Zależy to jednak od konfiguracji PHP (tj. --with-prefix
) i konkretnej wersji interfejsu API. Numer API znajduje się na ścieżce, aby rozszerzenia były budowane dla różnych wersji API w osobnych lokalizacjach.
Ładowanie rozszerzenia w PHP
Aby załadować rozszerzenie w PHP, znajdź załadowany plik php.ini dla odpowiedniego SAPI i dodaj extension=yaml.so
linii extension=yaml.so
a następnie uruchom ponownie PHP. yaml.so
zmień yaml.so
na nazwę zainstalowanego rozszerzenia.
W przypadku rozszerzenia Zend musisz podać pełną ścieżkę do udostępnionego pliku obiektowego. Jednak w przypadku zwykłych rozszerzeń PHP ścieżka ta pochodzi z dyrektywy extension_dir
w załadowanej konfiguracji lub ze środowiska $PATH
podczas początkowej konfiguracji.