Compile PHP là gì? Ưu điểm nhược điểm của Compile PHP

Bài viết này sẽ giúp bạn tìm hiểu Compile PHP là gì cũng như Ưu điểm nhược điểm của Compile PHP. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

PHP – Khái niệm

PHP là ngôn ngữ lập trình web được phát triển từ ngôn ngữ kịch bản (script) với mục đích xây dựng trang web cá nhân (Personal Home Pages). Sau đó đã được phát triển thành một ngôn ngữ hoàn chỉnh và được ưa chuộng trên toàn thế giới trong việc phát triển các ứng dụng web based.

PHP (PHP: Hypertext Preprocessor) là ngôn ngữ kịch bản lập trình phía máy chủ (server-side) phổ biến nhất thế giới.

Có thể download phiên bản mới nhất của PHP tại địa chỉ: http://www.php.net

Các phiên bản 7x và 8.x (mới nhất) khác nhau về kiến trúc, chi tiết xem trong feature log.

-Có thể tìm tài liệu tham khảo của PHP tại địa chỉ: http://www.php.net/manual

PHPLịch sử phát triển

PHP (Personal Home Page) do Rasmus Lerdorf phát minh ra, được công bố và phát triển từ năm 1994. Lúc đầu chỉ là bao gồm cac macro cho trang web cá nhân. Được sử dụng để lưu dấu vết của người dùng trên các trang web. Sau đó, Ranmus Lerdorf đã phát triển PHP như là một máy đặc tả (Scripting engine).

Vào giữa năm 1997, PHP đã được phát triển nhanh chóng trong sự yêu thích của nhiều người. PHP không còn là một dự án cá nhân của Rasmus Lerdorf và trở thành một công nghệ web quan trọng.

Tiếp theo, Zeev SuraskiAndi Gutmans hoàn thiện việc phân tích cú pháp cho ngôn ngữ để PHP3 ra đời vào tháng 6 năm 1998. Phiên bản này có phần mở rộng là *.PHP3.

Ngay sau đó, PHP4 ra đời. Phiên bản này không phải có phần mở rộng *.PHP4 mà là *.PHP. Bây giờ PHP được gọi là PHP HyperText PreProcesor.

PHPĐặc điểm

  • Tốc độ nhanh, dễ sử dụng.
  • Có khả năng truy xuất hầu hết CSDL có sẵn.
  • Có thể chạy trên nhiều hệ điều hành.
  • Luôn được cải tiến và cập nhật.
  • Được hướng dẫn kỹ thuật bất cứ lúc nào.
  • Thể hiện được tính bền vững, chặn chẽ, phát triển không giới hạn.
  • Là phần mềm mã nguồn mở.
  • Miễn phí.

Compile PHP – Định nghĩa

Compile là biên dịch, còn gọi là phần mềm biên dịch, là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình, thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới và thường là ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy.

PHP là ngôn ngữ lập trình web được phát triển từ ngôn ngữ kịch bản (script) với mục đích xây dựng trang web cá nhân (Personal Home Pages). Sau đó đã được phát triển thành một ngôn ngữ hoàn chỉnh và được ưa chuộng trên toàn thế giới trong việc phát triển các ứng dụng web based.

Compile PHPƯu điểm nhược điểm của

Ưu điểm

  • Xây đựng được một chương trình mà không cần các gói cài đặt có sẵn. Không còn phụ thuộc vào các trình quản lý ứng dụng gói (aptget, yum,Rpm…)
  • Có thể sử dụng được nhiều phiên bản PHP cùng lúc.
  • Có thể tùy chỉnh các tùy chọn của phần mềm theo ý muốn, tối ưu được hệ thống.
  • Giúp Bạn nắm rõ hơn về hệ thống cần xây dựng những gì và các mối liên quan của phần mềm đang cài đặt.

Nhược điểm  

  • Đòi hỏi người biên đich có kiến thức về hệ thống cao (tích hợp chạy với các ứng dụng hệ thống còn lại)
  • Sẽ khó khăn hơn trong quá trình cài đặt ứng dụng.
  • Khó thực hiện đa nền tảng.

Các vấn đề cần biết trước khi biên dịch gói tin

Để biên dịch gói tin thành công Bạn cần:

  • Trình biên dịch gói: GCC – GNU Compiler Collection: là một trình biên dịch có thể biên dịch các ngôn ngữ: C, C++, Fortran, Java,…
  • Đọc kỹ tài liệu về ứng dụng các yêu cầu hệ thống cần cài đặt trước các ứng dụng phụ nào thông qua document từ website của ứng dụng đó.
  • Hiểu về 3 bước cài đặt

+ ./configure: tập tin configure là một tập tin kịch bản được viết sẵn và kèm theo trong source code của ứng dụng. “./” là ký tự dùng để chạy ứng dụng, tập tin trong linux có quyền thực thi (tương tự như bạn kích đúp chuột vào tập tin *.exe trên windows) vì vậy bạn cần chắc chắn tập tin này phải có quyền thực thi theo User mà bạn đang đăng nhập. Nó sẽ kiểm tra các thư viện phụ thuộc đã được cài đặt hay chưa và cũng cho phép bạn tùy chỉnh cài đặt theo ý muốn. Ví dụ, thay đổi đường dẫn cài đặt với tham số “–prefix=<đường dẫn>”. Có rất nhiều tùy chọn để thiết lập trong kịch bản này, bạn có thể xem các tùy chọn được hỗ trợ bằng lệnh “./configure –help“

+ make: Đây là một tiện ích dùng biên dịch gói tin: nó sẽ đọc tập tin “Makefile” trong thư mục nguồn ứng dụng với các tham số được truyền từ kịch bản configure để biên dịch gói tin.

+ make install: Lệnh này sẽ cài đặt các gói được lệnh make biên dịch vào hệ thống.

  • Khả năng khắc phục sự cố:

+ Thiếu gói trình biên dịch thiếu các mã nguồn cài đặt.

Biên dịch PHP (PHP 8.0.1)

Bước 1: Cài đặt Tool, thư viên cho PHP 8 (nên các các thư viện cần sử dụng tránh lảng phí tài nguyên hệ thống) có thể cài đặt các thư viện bên thứ ba để biên dịch

# yum install wget -y

# yum install -y zip unzip

# yum install httpd-devel -y

# yum install autoconf -y

# yum install gcc-c++ -y

# yum install bison -y

# yum install libxml2-devel -y

# yum install sqlite-devel -y

# yum install curl-devel curl -y

# yum groupinstall "Development Tools" -y

# yum install postgresql-devel -y

# yum install pkgconfig -y

# yum install bzip2-devel -y

# yum install openssl-devel -y

# yum install libjpeg-devel -y

# yum install freetype-devel -y

# yum install sqlite-devel -y

# yum install db4-devel -y

# yum -y install epel-release -y

# yum install dpkg-devel dpkg-dev -y

# curl http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/r/re2c-0.14.3-2.el7.x86_64.rpm --output re2c-0.14.3-2.el7.x86_64.rpm

# rpm -Uvh re2c-0.14.3-2.el7.x86_64.rpm

Bước 2: Tài sorce code cần biên dịch ( ở đây là PHP 8.0.1)

# mkdir /php8

# cd /php8

# wget -O php.zip https://github.com/php/php-src/archive/master.zip

# unzip php.zip

# cd php-src-master

Bước 3: Tiến hành compile PHP 8

Giờ thực hiện với PHP, đầu tiên chạy

./buildconf –force
Compile PHP là gì

Nếu muốn biết thêm các thiết lập chạy script

./configure –help

Tiếp theo chạy

./configure –prefix=/usr/local/php –exec-prefix=/usr/local/php –bindir=/usr/local/php/bin –sbindir=/usr/local/php/sbin –includedir=/usr/local/php/include –libdir=/usr/local/php/lib/php –mandir=/usr/local/php/php/man –with-apxs2=/usr/bin/apxs –with-config-file-path=/usr/local/php/etc –with-mysql-sock=/var/run/mysql/mysql.sock –with-mhash –with-openssl –with-mysqli=shared,mysqlnd –with-pdo-mysql=shared,mysqlnd –with-pgsql=/usr/local/pgsql –with-pdo-pgsql=/usr/local/pgsql –with-gd –with-iconv –with-zlib –enable-zip –enable-inline-optimization –disable-debug –disable-rpath –enable-shared –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-ftp –enable-pcntl –enable-sockets –with-xmlrpc –enable-soap –without-pear –with-gettext –enable-session –with-curl –with-jpeg-dir=/usr/lib64 –with-png-dir=/usr/lib64 –with-freetype-dir –enable-opcache –enable-fpm

Có thể nhập và chạy lệnh ./configure trên nhiều dòng, mỗi dòng cách nhau bằng \, cách này bạn lưu lệnh trên một file rồi paste vào terminal cho thuận tiện

#./configure \

--prefix=/usr/local/php \

--exec-prefix=/usr/local/php \

--bindir=/usr/local/php/bin \

--sbindir=/usr/local/php/sbin \

--includedir=/usr/local/php/include \

--libdir=/usr/local/php/lib/php \

--mandir=/usr/local/php/php/man \

--with-apxs2=/usr/bin/apxs \

--with-config-file-path=/usr/local/php/etc \

--with-mysql-sock=/var/run/mysql/mysql.sock \

--with-mhash \

--with-openssl \

--with-mysqli=shared,mysqlnd \

--with-pdo-mysql=shared,mysqlnd \

--with-pgsql=/usr/local/pgsql \

--with-pdo-pgsql=/usr/local/pgsql \

--with-gd \

--with-iconv \

--with-zlib \

--enable-zip \

--enable-inline-optimization \

--disable-debug \

--disable-rpath \

--enable-shared \

--enable-xml \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-ftp \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-soap \

--without-pear \

--with-gettext \

--enable-session \

--with-curl \

--with-jpeg-dir=/usr/lib64 \

--with-png-dir=/usr/lib64 \

--with-freetype-dir \

--enable-opcache \

--enable-fpm

Trong các thiết lập trên thì có một số thiết lập cần chỉ ra đường dẫn, thực tế trên máy của bạn có thể ở vị trí khác, nên bạn phải xác định nó nằm chính xác ở đâu như:

–with-apxs2=/usr/bin/apxs yêu cầu sinh ra file libphp8.0.so để tạo Handler gọi PHP từ Apache. Bạn phải xem Apache để apxs ở đâu rồi thay vào /usr/bin/apxs – Tìm bằng lệnh find / “apxs”

–with-jpeg-dir=/usr/lib64 cho phép GD chỉnh sửa được jpeg. Tìm xem libjpeg.so nằm ở thư mục nào thì điền thư mục đó vào find / -name “libjpeg.so”

–with-png-dir=/usr/lib64 tương tự như trên (tìm từ find / -name “libpng.so”)

–prefix=/usr/local/php thiết lập thư mục cài đặt PHP

Tiếp theo chạy lệnh

# make

Cài đặt

# make install

Copy file php.ini vào vị trí (do thiết lập khi build ở trên nạp config từ /usr/local/php/etc/ nên bạn copy vào đúng vị trí đó:

# cp php.ini-development /usr/local/php/etc/php.ini

Ta kiểm tra PHP đã được compile thành công chưa.

Do ta chưa cấu hình biến môi trường nên lệnh php -v (-bash: php: command not found)

Thiết lập biến môi trường để trỏ đến đường dẫn gọi PHP

# vi /etc/profile

Thêm vào cuối file đó các dòng:

#PHP PATH

export PHP_HOME=/usr/local/php

export PATH=$PHP_HOME/bin:$PATH

Lưu lại và chạy lệnh sau để nạp lại biến môi trường

# source /etc/profile

Giờ có thể kiểm tra PHP

# php -v
Was this article helpful?