Cài đặt Tool, thư viên cho PHP 7.2
# yum install autoconf libtool re2c bison libxml2-devel bzip2-devel libcurl-devel libpng-devel libicu-devel gcc-c++ libmcrypt-devel libwebp-devel libjpeg-devel openssl-devel -y
Trên đây có các thư viên dùng tích hợp vào PHP khi biên dịch PHP ví dụ như: hỗ trợ file jpeg
, png
của GD
Tải Source PHP 7.2
Kiểm tra tại php-src
, tải về phiên bản Release mới. Bí dụ bản 7.2.12
với link tải https://github.com/php/php-src/archive/php-7.2.12.tar.gz
#
curl -O -L https://github.com/php/php-src/archive/php-7.2.12.tar.gzBạn đang đọc: Cài đặt PHP 7 từ Source Code trên CentOS
Giải nén
# tar -zxvf php-7.2.12.tar.gz # cd php-src-php-7.2.12
Build PHP 7.2
Lưu ý : Nếu có sử dụng Apache thì thì phải setup hoặc build Apache trước ( nếu muốn tự build từ source xem Build Apache )
Giờ thực thi với PHP, tiên phong chạy
# ./buildconf --force
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-mbregex --enable-mbstring --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 --with-fpm-user=apache --with-fpm-group=apache --without-gdbm --disable-fileinfo
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-mbregex \ --enable-mbstring \ --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 \ --with-fpm-user=apache \ --with-fpm-group=apache \ --without-gdbm \ --disable-fileinfo
Nếu muốn biết thêm các thiết lập chạy script ./configure --help
Trong những thiết lập trên thì có một số ít thiết lập cần chỉ ra đường dẫn, trong thực tiễn trên máy của bạn hoàn toàn có thể ở vị trí khác, nên bạn phải xác lập nó nằm đúng mực ở đâu như :
--with-apxs2=/usr/bin/apxs
yêu cầu sinh ra filelibphp7.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ệnhfind / "apxs"
--with-jpeg-dir=/usr/lib64
cho phépGD
chỉnh sửa đượcjpeg
. Tìm xemlibjpeg.so
nằm ở thư mục nào thì điền thư mục đó vàofind / -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 clean # 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
Thiết lập biến thiên nhiên và môi trường để trỏ đến đường dẫn gọi PHP
# vi /etc/profile
Thêm vào cuối file đó những 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 thiên nhiên và môi trường
# source /etc/profile
Giờ hoàn toàn có thể kiểm tra PHP
# php -v
Có PHP rồi, muốn Webserver Apache gọi nó theo cách nào thì thêm Handler cho tương thích trong Apache, xem tại để biết những Handler trước tại PHP APACHE HANDLER
Thiết lập Handler mặc định
Nếu sử dụng Handler mặc định Apache 2.0 Handler
với module libphp7.so
mới build được:
# TÌM libphp7.so # find / -name "libphp7.so" / usr / lib / apache / libphp7.so
Mở apache.conf
thêm vào:
LoadModule php7_module /usr/lib/apache/libphp7.soSetHandler application/x-httpd-php
Lưu lại và khởi động lại Apache bằng lệnh service httpd restart
Giờ Apache đã chạy file. php khi truy vấn đến
Thiết lập trên cũng đã tích hợp thư viện để truy cập MySQL
là thư viện MySqli
, PDO_MYSQL
. Nếu cần MySQL Server trên Server này luôn thì cài vào theo Cài đặt MySQL
SỬ DỤNG PHP-FPM
Trong cấu hình cài đặt ở trên có tham số kích hoạt build hỗ trợ PHP-FPM
với tham số --enable-fpm
, đây là loại Handler rất nhanh, có thể khởi chạy nhiều thread PHP, giúp cho các trang có lượng truy cập lớn chạy nhanh hơn. Nếu muốn dùng nó thay cho Handler mặc định ở trên (Apache 2.0 Handler) thì cần một số thiết lập như sau, di chuyển vào thư mục mã nguồn PHP ở trên (bằng lệnh CD):
# TÌM init.d.php - fpm # find / -name "init.d.php-fpm" . / sapi / fpm / init.d.php - fpm # cp ./sapi/fpm/init.d.php-fpm /usr/local/bin/php-fpm # chmod +x /usr/local/bin/php-fpm # TÌM find / - name " php-fpm.conf.default " # find / -name "php-fpm.conf.default" / usr / local / php / etc / php-fpm.conf.default # /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
Mở file /usr/local/php/etc/php-fpm.conf
và cập nhật nội dung thành
;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] ; Pid file ; Note: the default prefix is /usr/local/php/var pid = run/php-fpm.pid ; Error log file ; Note: the default prefix is /usr/local/php/var error_log = log/php-fpm.log ;;;;;;;;;;;;;;;;;;;; ; Pool Definitions ; ;;;;;;;;;;;;;;;;;;;; include=/usr/local/php/etc/php-fpm.d/*.conf
Cập nhật file thiết lập /usr/local/php/etc/php-fpm.d/www.conf
# cat </usr/local/php7/etc/php-fpm.d/www.conf [www] ;listen = /usr/local/php/var/run/www-php-fpm.sock listen = 127.0.0.1:9000 listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = apache listen.group = apache listen.mode = 0660 user = apache group = apache pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.status_path = /status ping.path = /ping ping.response = pong request_terminate_timeout = 100 request_slowlog_timeout = 10s slowlog = /usr/local/php/var/log/www.log.slow EOF
#Với CENTOS 7 # TÌM php-fpm.service # find -name "php-fpm.service" . / sapi / fpm / php-fpm.service # cp ./sapi/fpm/php-fpm.service /etc/systemd/system/ # chmod +x /etc/systemd/system/php-fpm.service # systemctl enable php-fpm.service # systemctl start php-fpm.service
Mở apache.conf
hủy Handler PHP cũ đi và thêm vào Handler PHP-FPM gọi PHP qua Proxy:
#LoadModule php7_module /usr/lib/apache/libphp7.so ## SetHandler application/x-httpd-php # #Handler all file SetHandler "proxy:fcgi://127.0.0.1:9000" #Hoặc (.php) AddHandler "proxy:fcgi://127.0.0.1:9000" .php
Lưu lại và khởi động lại Apache
# service httpd restart
Giờ PHP đã được Apache gọi trải qua PHP-FPM
Source: kubet
Category: Tải Phầm Mềm
Leave a Reply