[Linux] Fix lỗi compile source PHP 5.6 với tính năng hỗ trợ zip

83

Với bài viết này mình sẽ đề cập đến cách khắc phục lỗi compile source PHP 5.6 liên quan đến tính năng hỗ trợ nén zip của PHP.

Khi mình compile source PHP 5.6 thì bị dính thông báo lỗi như ở dưới, ở phần “./configure” thì chạy ngon lành không thông báo lỗi gì nhưng ở phần tiến hành build “make” là sẽ gặp lỗi đó. Directory chứa php 5.6 của mình được chỉ định riêng ngoài các thư mục mẫu thường dùng (–prefix=/opt/php56).

Lưu ý :
– Bạn sử dụng option “–enable-zip” khi tiến hành “configure” thì mới dẫn đến lỗi log này.

Log lỗi :

 
Tìm hiểu 1 hồi thì có 2 hướng xử lý, và mình áp dụng thì thành công ở cách 1: 

Cách 1 : gán biến môi trường thư viện “xml2”

– Do bạn build tay và sử dụng cấu hình “configure” riêng nên source code khi compile có khả năng không tìm thấy thư viện “libxml2” ở các đường dẫn thư mục tiêu chuẩn điều này dẫn đến phát sinh lỗi khi cố gắng xác định kích thước của “off_t“.
– Vậy điều bạn cần làm lúc này là, nếu bạn chưa cài đặt “libxml2” thì bạn hãy cài đặt ngay thư viện “libxml2” đi bằng yum hay compile thư viện của nó. Sau đó hãy xác định đường dẫn thư mục của thư viện “libxml2” nằm ở đâu và chúng ta sẽ chỉ định đường dẫn đó ra biến môi trường sử dụng khi compile source PHP 5.6
– Giả sử thư viện “libxml2” của mình nằm ở “/opt/xml2/lib” thì ta sẽ set biến như sau :

– Rồi sau đó chạy lại “configure” và tiến hành build như bình thường sẽ hết gặp lỗi.

 
Cách 2 : gán biến môi trường thư viện “mysql”

– Cũng như ở trên thì trường hợp này khi tiến hành compile không tìm thấy đường dẫn thư mục thư viện của MySQL trong trường hợp bạn có 2 option “–enable-zip –with-mysql=/usr/local/mysql/” khi configure. Vậy nên ở cách 2 ta cũng sẽ set biến cụ thể dành cho hoạt động compile source PHP 5.6 về thư viện MySQL. Bạn sẽ làm như sau :

 
– Tiến hành chạy lại cấu trúc “configure” rồi tiếp tục công việc build thì sẽ bình thường không lỗi.

 
Hy vọng các bạn tìm được phương án xử lý phù hợp ở bài viết này.

Đánh giá sao từ người đọc :
[ Tổng : 2 - Trung bình: 3.5 ]