Hỗ trợ php ioncube

Tôi vốn là một Fan của Heroku nên mỗi khi triển khai một ứng dụng web nào đó tôi liền nghĩ ngay đến Heroku - vì nó miễn phí mà lại đám mây. ~) Lần này tôi tình cờ triển khai một ứng dụng PHP nhưng cần phải sử dụng một tiện ích mở rộng php không có sẵn -IonCube. "Tưởng không dễ mà dễ không tưởng" chính xác phù hợp với trường hợp này

Ai cần tìm hiểu cách triển khai ứng dụng PHP trên Heroku có thể tham khảo thêm tại (build more web pack heroku-buildpack-php) hoặc 1 list App có sẵn tại elements. heroku. com/search/buttons?q=php

Tại sao phải xây dựng thêm Tiện ích mở rộng?

Hỗ trợ php ioncube

Tương tự Ruby, Python, để triển khai trên Heroku cũng cần sử dụng Trình soạn thảo tương tự với Gem và Pip. Heroku chỉ hỗ trợ mặc định một số Tiện ích mở rộng có sẵn cho PHP (). Và muốn sử dụng tiện ích mở rộng khác thì phải sử dụng repositive bên thứ 3 hoặc tự build repositive theo hướng dẫn của Heroku

Tưởng tượng không dễ dàng

Hỗ trợ php ioncube

Tưởng không dễ đọc vì topic của Heroku về cách build, cũng loằng ngoằng ngang, làm theo, thử đi thử lại bao nhiêu lần chẳng hiểu sao toàn fail ( mất toi 2 ngày trời. ) - github. com/heroku/heroku-buildpack-php/blob

Tuy không thành công nhưng cũng tốt vì break ra nhiều điều, hiểu thêm về kiến ​​trúc build trên Heroku, có cơ hội mình sẽ viết thêm sau

Không tưởng tượng

Đến khi hầu như không còn hi vọng gì, down money for Google with Amazon rồi thì tia sáng soi lên. Ông Heroku này bản chất chạy docker, vì vậy cấu hình hay tiện ích mở rộng cứ sao chép sẵn ở bản local rồi commit lên là sẽ có, không nhất thiết phải cài đặt theo kiểu của nhà soạn nhạc. Vì vậy tôi tìm cách dễ dàng không tưởng

Bước 1. Tải xuống bản dựng sẵn của tiện ích mở rộng

Trong trường hợp này là Ioncube thì cứ lên trang chủ down về thôi (ioncube. com/bộ tải. php). Nhớ tải về đúng bản tương ứng với ngăn xếp sử dụng ở Heroku (Ubuntu là ok - devcenter. heroku. com/articles/stack-gói)

Bước 2. Giải nén và sao chép vào đường dẫn trên local tương ứng với thư mục của phần mở rộng php. Trường hợp này là

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 (thời gian chạy Đang tải) và thông qua tệp php. ban đầu.
1. Giải thích thuật ngữ
Loader is a file. dll hay. vì vậy (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 nguồn mã bị khóa bằng ionCube Encoder. PHP could not be open file run. dll (. so) tại thời điểm 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 ionCube tải, được gọi là Giải mã khi chạy (Tải thời gian chạy).
Khi máy chủ web tải xuống PHP lần đầu tiên, một tệp cấu hình được gọi là php. ini đã được đọc. Có thể thêm một dòng vào tệp 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 các lần để sử dụng cả hai phương pháp này.
2. Cài đặt Giải mã khi chạy (tải trong thời gian chạy)
Phương pháp sử dụng Giải mã khi chạy (Tải trong thời gian chạy) là cách dễ nhất để chạy các tập tin mã hóa, cho phép xác nhận .
Với điều kiện Giải mã khi chạy được hỗ trợ trên hệ thống phù hợp, mã nguồn đã được khóa và Trình tải 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ỳ Trình tải hoặc Trình tải nào .
Để giải mã khi chạy hoạt động, một thư mục có tên là ionCube chứa các Trình tải nên được đặt trong hoặc bên trên thư mục đầu của các tệp đã đượ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 hoặc /var/www. Nếu bạn có một ứng dụng hoặc thư viện để phân phối, bạn có thể đặt thư mục ionCube vào trong thư mục đầu tiên.
3. Xử lý sự cố Giải mã khi chạy (tải trong thời gian chạy)
Nếu tập tin mã hóa không chạy với Giải mã khi chạy, bạn có thể kiểm tra bằng cách sử dụng mã nguồn trợ giúp PHP là . php, in that 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 đang làm việc.
Truy cập ioncube-loader-helper. mã nguồn php từ một web máy chủ hoặc với một PHP cli hoặc cgi thực thi.
Chọn tùy chọn, Kiểm tra khả năng tương thích tải trong thời gian chạy.
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 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 để chỉnh sửa bất kỳ vấn đề nào liên quan đến cấu hình máy . ban đầu.
4. Sử dụng lý do hỗ trợ cài đặt ionCube (ionCube Install Assistant)
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 hệ thống sử dụng dưới chế độ an toàn, hoặc do 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 đặt của ionCube, bạn có thể tìm thấy trình hướng dẫn trình tải tệp. php, bạn có thể vào bất kỳ nơi nào để có thể chạy được và làm theo hướng dẫn cài đặt.
Liên kết php. ini Install Assistant trên bộ cài đặt hỗ trợ có sẵn mã nguồn PHP để hướng dẫn hỗ trợ công việc này. Truy cập mã nguồn từ web máy chủ hoặc cli hay cgi PHP thi hành và nó sẽ cho bạn tải xuống để cài đặt, có tệp để chỉnh sửa và một phần nhỏ để bạn thay đổi. (Đó chỉ là một thay đổi dòng).
Nếu bạn muốn cài đặt mà không sử dụng mã nguồn (tập lệnh) hỗ trợ lý do sau đó, vui lòng đọc phần dưới đây.
5. Cài đặt bằng tay file 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 ( . ini của bạn đang ở đâu
Tập tin php.ini của bạn đang ở đâu
Liên kết thông tin hệ thống máy chủ được 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.
Phiên bản PHP => 4. 3. 0
Hệ thống => Linux pod 2. 2. 16 #1 Thứ bảy 30 tháng 9 22. 47. 40 BST 2000 i686
Ngày xây dựng => 28 tháng 5 năm 2003 13. 41. 42
Lệnh Cấu hình =>. /configure
API máy chủ => Giao diện dòng lệnh
Hỗ trợ thư mục ảo => bị vô hiệu hóa
Tệp cấu hình (php. ini) Đường dẫn => /usr/local/lib/php. ini
API PHP => 20020918
Tiện ích mở rộng PHP => 20020429
Tiện ích mở rộng Zend => 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 (luồng hoàn toàn bị vô hiệu hóa)
Các tập tin 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 Trình tải. Phương pháp này phụ thuộc vào máy chủ của bạn đang chạy Unix (như Linux) hoặc Windows.
6. Cài đặt trên máy chủ Unix
Nếu PHP của bạn không luồn (không phân luồng), bạn cần gọi là Loader.
ionCube_loader_
Nếu PHP của bạn là luồng (threaded) thì bạn cần gọi là Loader.
ionCube_loader_
sẽ là lin cho Intel Linux, fre cho FreeBSD, Sun cho Sparc Solaris, ope cho OpenBSD, dar cho OSX và net cho NetBSD.
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ỉ sửa file php. ini của bạn và tệp không trượt PHP thêm.
zend_extension = /
và cho luồn PHP thêm.
zend_extension_ts = /
Thay thế khóa
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 theo 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. vậy
7. Cài đặt trên máy chủ Windows
Bạn cần một bộ tải xuống được gọi là
ionCube_loader_win_
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ỉ sửa file php. ini của bạn và thêm.
zend_extension_ts = “
place
Ví dụ.
zend_extension_ts = c. \WINNT\ioncube_loader_win_4. 3. đll