Trang chủ Tool support

Chương trình "phpize", "php-config" là gì khi compile PHP?

Khi compile module PHP trên Linux, bạn thường xuyên phải sử dụng 2 chương trình phổ biến của phiên bản PHP là: phpizephp và config. Vậy 2 chương trình này là gì và sử dụng chúng như thế nào? Hãy cùng tham khảo bài viết sau đây.

1. phpize 

Đôi khi, sử dụng pecl installer sẽ không phải là lựa chọn của bạn bởi vì bạn đang đứng sau firewall hoặc có thể do tiện ích bạn muốn cài đặt không có sẵn dưới dạng gói tương thích PECL, chẳng hạn như extension chưa được phát hành từ SVN. Nếu bạn cần xây dựng một phần mở rộng như vậy, bạn có thể sử dụng các lower-level build tools để thực hiện việc xây dựng theo cách thủ công.

Lệnh phpize được sử dụng để chuẩn bị build environment cho một PHP extension. Trong ví dụ sau, các nguồn cho một phần mở rộng nằm trong một thư mục có tên là extname:

$ cd extname 

$ phpize 

$ ./configure 

$ make 

# make install

Một cài đặt thành công sẽ tạo ra extname.so và đặt nó vào extensions directory PHP. Bạn sẽ cần phải điều chỉnh php.ini và thêm một dòng extension=extname.so trước khi bạn có thể sử dụng extension.

Nếu hệ thống thiếu lệnh phpize, và các gói biên dịch sẵn (như RPM), hãy chắc chắn cài đặt phiên bản devel thích hợp của gói PHP vì chúng thường bao gồm lệnh phpize cùng với các header files thích hợp để xây dựng PHP và extensions.

Thực thi lệnh phpize --help để hiển thị thông tin sử dụng bổ sung.

2. php-config

php-config là một shell script đơn giản để lấy thông tin về cấu hình PHP đã cài đặt.

Khi  compiling các extensions, nếu bạn đã cài đặt nhiều phiên bản PHP, bạn có thể chỉ định cài đặt nào bạn muốn bằng cách sử dụng tùy chọn --with-php-config trong khi cấu hình, chỉ rõ đường dẫn của tập lệnh php-config tương ứng.

Danh sách các lệnh sau giúp php-config script có thể được truy vấn bất cứ lúc nào bằng cách chạy php-config với -h switch:

Usage: /usr/local/bin/php-config [OPTION] 

Tùy chọn: 

     --prefix [...] 

     --includes [...] 

     --ldflags [...] 

     --libs [...] 

     --extension-dir [...] 

     --include-dir [...] 

     --php-binary [...] 

     --php-sapis [...] 

     --configure-options [...] 

     --version [...] 

     --vernum [...]

 

Chương trình phpize, php-config là gì khi compile PHP?  - Ảnh 1.

Chi tiết các tùy chọn dòng lệnh:

--prefix: Tiền tố thư mục nơi PHP được cài đặt, ví dụ: /usr/local.

--includes: Danh sách tùy chọn -I với tất cả các tệp bao gồm.

--ldflags: LD flag được compile bằng PHP

--libs: Các thư viện bổ sung mà PHP đã được compile cùng.

--extension-dir: Thư mục nơi các tiện ích mở rộng được tìm kiếm theo mặc định.

--include-dir: Tiền tố thư mục nơi tệp tiêu đề được cài đặt theo mặc định.

--php-binary: Đường dẫn đầy đủ đến php CLI hoặc CGI binary.

--php-sapis: Hiển thị tất cả các module SAPI có sẵn.

--configure-options: Tùy chọn cấu hình để tạo lại cấu hình của cài đặt PHP hiện tại.

--version: PHP version.

--vernum: Phiên bản PHP dưới dạng số nguyên.

>> Có thể bạn quan tâm: Hướng dẫn cách cài đặt MongoDB trên CentOS 7