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.

  1. Rozpakuj tar smołę (np. tar xfvz yaml-2.0.0RC8.tgz )
  2. Wpisz katalog, w którym rozpakowano archiwum i uruchom phpize
  3. Powinieneś teraz zobaczyć nowo utworzony skrypt .configure jeśli wszystko poszło dobrze, uruchom ten ./configure
  4. Teraz musisz uruchomić make , który skompiluje rozszerzenie
  5. 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.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow