Cài đặt ionCube Loader
IonCube Loader cần thiết để đọc mã nguồn PHP đã được mã hóa (khoá) bằng Encoder ionCube. Có hai cách để sử dụng tập tin này, với hai phương pháp cài đặt khác nhau: Giải mã lúc chạy (run-time Loading) và thông qua tập tin php.ini.
1. Giải thích thuật ngữ
Loader là một tập tin .dll hay .so (tùy thuộc vào hệ điều hành của máy chủ) mà PHP sử dụng để giải mã các mã nguồn được khoá bằng ionCube Encoder. PHP có khả năng mở chạy tập tin .dll (.so) tại thời điểm một mã nguồn đang chạy. Các chức năng dl trong PHP được sử dụng cho mục đích này. Cơ chế này được sử dụng để khởi động tải ionCube, được gọi là Giải mã lúc chạy (run-time Loading).
Khi máy chủ web trước tiên tải PHP, một tập tin cấu hình gọi là php.ini được đọc. Có thể thêm một dòng vào tập tin này để chỉ định cho PHP tải ionCube Loader.
Sau đây, chúng tôi sẽ hướng dẫn cách cài đặt lần lượt để sử dụng cả hai phương pháp này.
2. Cài đặt Giải mã lúc chạy (run-time Loading)
Phương pháp sử dụng Giải mã lúc chạy (run-time Loading) là cách dễ nhất để chạy các tập tin mã hóa, cho phép xác định vị trí các tập tin được mã hóa và cài đặt Loader thích hợp khi cần thiết.
Với điều kiện Giải mã lúc chạy được hỗ trợ trên hệ thống phù hợp, mã nguồn được khoá và Loader có thể được đi kèm với nhau mà người dùng không cần phải cài đặt bất kỳ Loader hoặc cập nhật bất kỳ cấu hình hệ thống nào, cũng không cần phải biết về các phiên bản PHP hoặc hệ điều hành đang sử dụng.
Để Giải mã lúc chạy hoạt động, một thư mục gọi là ionCube chứa các Loader nên được đặt trong hoặc bên trên thư mục đầu của các tập tin được mã hóa. Ví dụ, nếu bạn đã mã hóa các tập tin trong hoặc bên dưới /var/www/htdocs/, bạn có thể đặt thư mục ionCube trong /var/www/htdocs hay /var/www. Nếu bạn có một ứng dụng hay thư viện để phân phối, bạn có thể đặt thư mục ionCube vào trong thư mục đầu.
3. Xử lý sự cố Giải mã lúc chạy (run-time Loading)
Nếu tập tin mã hóa không chạy với Giải mã lúc chạy, bạn có thể kiểm tra bằng cách sử dụng mã nguồn PHP helper là ionCube-loader-helper.php, trong đó bao gồm trong các kho lưu trữ download Loader.
Sao chép ionCube-loader-helper.php và ionCube-encoded-file.php, PHP script vào một thư mục mà bạn muốn mã hóa các tập tin được làm việc.
Truy cập ioncube-loader-helper.php mã nguồn từ một máy chủ web hoặc với một PHP cli hoặc cgi thực thi.
Chọn option, Run-time Loading Compatibility Test.
Các mã nguồn sẽ xác định vị trí và cài đặt bộ tải cần thiết. Sau đó, nó sẽ xuất ra dữ liệu khi nó chạy.
Sau khi hoàn thành mã nguồn hoặc sẽ báo cáo rằng thời gian chạy tải đang làm việc, nó sẽ cung cấp các hướng dẫn làm thế nào để sửa bất kỳ vấn đề liên quan đến cấu hình máy chủ, hoặc sẽ báo cáo rằng bắt buộc phải cài đặt bằng tập tin php.ini.
4. Sử dụng trợ lý cài đặt ionCube (ionCube Install Assistant)
Việc cài đặt tập tin php.ini cũng rất đơn giản và đạt hiệu quả sử dụng cao nhất cho các mã nguồn được mã hóa. Việc cài đặt này cũng giúp cho hệ thống sử dụng dưới chế độ an toàn, hoặc vì PHP đã được xây dựng với sự hỗ trợ hệ thống an toàn gia tăng, ví dụ như trên Windows.
Trong bộ cài của ionCube, bạn có thể tìm thấy file loader-wizard.php, bạn có thể để vào bất cứ chỗ nào để có thể chạy được và làm theo hướng dẫn cài đặt.
Link php.ini Install Assistant trên hỗ trợ cài đặt có sẵn mã nguồn PHP để hướng dẫn hỗ trợ việc này. Truy cập mã nguồn từ một máy chủ web hoặc một cli hay cgi PHP thi hành và nó sẽ cho bạn tải để cài đặt, có file để chỉnh sửa và một phần nhỏ để bạn thay đổi. (Đó chỉ là một một dòng thay đổi).
Nếu bạn muốn cài đặt mà không sử dụng các mã nguồn (script) trợ lý sau đó, xin vui lòng đọc phần dưới đây.
5. Cài đặt bằng tay tập tin php.ini
Trước khi cài đặt, bạn cần biết:
Hệ điều hành bạn đang sử dụng
Phiên bản PHP nào bạn đang sử dụng
Là PHP của bạn xây dựng luồn (threaded) hay không?
Tập tin php.ini của bạn đang ở đâu
Các Server System Information link liên kết trong mã nguồn helper sẽ cung cấp cho bạn những thông tin bắt buộc.
Ví dụ:
Giả sử các thông tin sau có trong đầu ra mã nguồn sysinfo.php:
PHP Version => 4.3.0
System => Linux pod 2.2.16 #1 Sat Sep 30 22:47:40 BST 2000 i686
Build Date => May 28 2003 13:41:42
Configure Command => ./configure
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/local/lib/php.ini
PHP API => 20020918
PHP Extension => 20020429
Zend Extension => 20021010
Debug Build => no
Thread Safety => disabled
Điều này cho thấy:
Hệ thống Linux
PHP là PHP 4.3.0
PHP không phải là luồn (threaded an toàn bị vô hiệu hoá)
Các file php.ini trong /usr/local/lib
Sử dụng thông tin này chúng tôi có thể cài đặt các Loader. Phương pháp này phụ thuộc vào việc máy chủ của bạn đang chạy Unix (như Linux) hoặc Windows.
6. Cài đặt trên một máy chủ Unix
Nếu PHP của bạn không luồn (not threaded), bạn cần một gọi là Loader:
ionCube_loader_<os type>_<php flavour>.so
Nếu PHP của bạn là luồn (threaded) bạn cần một gọi là Loader:
ionCube_loader_<os type>_<php flavour>_ts.so
<os type> sẽ là lin cho Intel Linux, fre cho FreeBSD, Sun cho Sparc Solaris, ope cho OpenBSD, dar cho OSX và net cho NetBSD.
<php flavor> sẽ là 4.0, 4.1, 4.2 hoặc 4.3 – tức là 2 chữ số đầu tiên của phiên bản PHP của bạn.
Chỉnh sửa file php.ini của bạn và tập tin không luồn PHP thêm:
zend_extension = /<path>/ioncube_loader_<os type>_<php flavour>_ts.so
và cho luồn PHP thêm:
zend_extension_ts = /<path>/ioncube_loader_<os type>_<php flavour>_ts.so
Thay thế khóa <os type> và <flavor php> với bất cứ điều gì là đúng cho hệ thống của bạn, và đường dẫn <path> với đường dẫn đến ví dụ, nơi mà các bộ tải được cài đặt /usr/local/IonCube
Nếu có mục zend_extension khác trong file php.ini đặt mục nhập mới này trước khi các mục hiện có.
Ví dụ: Với Linux chạy PHP 4.1.2 và Apache 1, bạn có thể thêm vào:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_4.1.so
Đối với FreeBSD chạy luồn PHP 4.3.1 với Apache 2, bạn có thể thêm vào:
zend_extension_ts = /usr/local/ioncube/ioncube_loader_fre_4.3_ts.so
7. Cài đặt trên một máy chủ Windows
Bạn cần một bộ tải được gọi là
ionCube_loader_win_ <php flavour>.dll
<php flavour> sẽ là 4.1, 4.2 hoặc 4.3 – tức là 2 chữ số đầu tiên của phiên bản PHP của bạn.
Chỉnh sửa file php.ini của bạn và thêm:
zend_extension_ts = “<drive>:\<path>\ioncube_loader_win_ <php flavour> dll.”
nơi <drive> và <path> xác định vị trí Loader và <php flavour> là bất cứ điều gì giá trị chính xác là dành cho hệ thống của bạn. Nếu có mục zend_extension khác trong file php.ini đặt mục nhập mới này trước khi các mục hiện có.
Ví dụ:
zend_extension_ts = c:\WINNT\ioncube_loader_win_4.3.dll