Hướng dẫn dùng cpanel pecl_http trong PHP

Hiện tại trên hosting Linux – cPanel, quý khách có thể tùy chọn phiên bản PHP thì sẽ rất tiện lợi. Vì không phải code nào cũng phù hợp với các phiên bản php mới nhất hoặc phiên bản cũ quá cũng không được.

Điều kiên để Bạn có thể tùy chọn phiên bản PHP khi sử dụng cPanel Hosting như sau:

  • Nhà cung cấp dịch vụ cPanel Hosting phải cài đặt Cloudlinux và kích hoạt tính năng tùy chọn nhiều phiên bản php.

Các bước tiến hành thay đổi phiên bản PHP cho Hosting cPanel như sau

  • Bước 1: Đăng nhập Hosting

Nếu chưa có tài khoản Hosting thì Bạn hãy đăng ký Hosting trước nhé!!!

  • Bước 2: Tìm đến mục “Select PHP Version”

Các bạn hãy gõ vào ô tìm kiếm ‘php” rồi click chọn “Select PHP Version

  • Bước 3: Cài đặt phiên bản PHP mặc định.
  • Bước 4: Tắt/bật PHP Extension trên hosting.
  • Bước 5: Tùy chọn File php.ini settings.

Từ giao diện chọn PHP version. Bạn hãy click “Switch To PHP Options

Sau đó lựa chọn các cài đặt trong file php.ini như sau:

Sau đó nhấn “save” để lưu lại.

  • Bước 6: Lưu cài đặt và kiểm tra

Việc chỉnh phiên bản php có thể khiến website của quý khách bị lỗi. Điều này hoàn toàn bình thường, đó là do website của quý khách thường sử dụng phiên bản php cũ, không tương thích với phiên bản php mới hơn trên Hosting Linux.

Vì thế nếu thấy lỗi hãy thử chọn phiên bản cũ hơn nhé!!!

Chúc quý khách thành công.

Hướng dẫn dùng cpanel pecl_http trong PHP

Gửi phản hồi về bài viết này

PECL hoạt động như một kho lưu trữ các Phần mở rộng PHP, cung cấp cho bạn một thư mục chứa tất cả các phần mở rộng đã biết và các phương tiện lưu trữ để tải xuống và phát triển các phần mở rộng PHP.

Xem các gói PECL hiện đã cài đặt

Để xem các Gói PECL hiện được cài đặt, bạn sẽ cần quyền truy cập SSH.

Nếu bạn cần kích hoạt quyền truy cập SSH, vui lòng xem bài viết của chúng tôi,  Quyền truy cập SSH .

Hiện không có cách nào để xem các gói PECL đã cài đặt cho một người dùng cPanel riêng lẻ. Thay vào đó, bạn có thể kiểm tra trong thư mục ~ / pecl của mình, nơi chứa các gói đã cài đặt.

Bạn có thể xem các gói PECL được cài đặt toàn cầu bằng cách sử dụng lệnh sau. (73 có thể được thay thế bằng bất kỳ phiên bản PHP nào có sẵn khác, ví dụ: 56, 70, 71, 72, 73 và 74)
ea-php73-pecl list -a

Cài đặt gói PECL mới

Bạn có thể tải xuống và cài đặt các gói PECL cục bộ vào tài khoản của mình. Bạn sẽ cần quyền truy cập SSH.

Nếu bạn cần kích hoạt quyền truy cập SSH, vui lòng xem bài viết của chúng tôi,  Quyền truy cập SSH .

** Các phiên bản của “ea-php73” trong các lệnh sau có thể được thay thế bằng các phiên bản PHP khác trên máy chủ **

Sau khi bạn đã đăng nhập, đây là các bước để cài đặt:

  1. Tạo một thư mục trong thư mục chính của bạn để tải xuống và biên dịch các gói trong đó.

    mkdir ~/pecl

  2. Tạo một thư mục để chứa các phần mở rộng php của bạn. Một cái gì đó như ~ / php / extensions.

    $ mkdir ~/php ) $ mkdir ~/php/extensions

  3. Thay đổi các thư mục thành thư mục pecl đã tạo đó và chạy lệnh sau:

    c$ cd ~ / pecl
    $ / opt / cpanel / ea-php73 / root / usr / bin / pecl download  
    ** Đối với nhiều gói PECL, hãy lặp lại bước 4-9 rồi đến bước 12 **

  4. Điều đó sẽ tải xuống gói mà sau đó bạn sẽ cần phải gỡ bỏ:

    tar –zxvf $package.tgz

  5. Thay đổi thư mục thành thư mục được giải nén và chạy   lệnh phpize

    $ cd ~/pecl/

    $ /opt/cpanel/ea-php73/root/usr/bin/phpize

  6. Khi hoàn tất, hãy chạy lệnh sau từ bên trong thư mục mô-đun

    /opt/cpanel/ea-php73/root/usr/bin/phpize && ./configure --with-php-config=/opt/cpanel/ea-php73/root/usr/bin/php-config --prefix=$HOME/pecl/

  7. Nếu điều đó chạy mà không có lỗi, thì gói phải tương thích với môi trường của chúng tôi. Nếu nó hoàn thành thành công, hãy chạy lệnh sau từ thư mục mô-đun riêng lẻ make

    make

  8. Điều đó sẽ tạo tệp mô-đun mà bạn sẽ cần đặt trong php.ini của mình. Nó sẽ nằm trong thư mục mô-đun và sẽ được đặt tên là   .so
  9. Sao chép tệp .so vào thư mục ~ / php / extensions mà bạn đã tạo.

    cp ~/pecl//modules/.so ~/php/extensions/

  10. Sao chép các tiện ích mở rộng do máy chủ cài đặt hiện có từ / usr / lib64 / php / modules / vào thư mục ~ / php / extensions:

    cp -rf /usr/lib64/php/modules/* ~/php/extensions/

  11. Chỉnh sửa cấu hình PHP của bạn từ trong  Advanced  >>  MultiPHP INI Editor . Sử dụng chế độ Trình chỉnh sửa để thêm vào dòng sau hoặc chỉnh sửa dòng hiện có.
    ** Bạn có thể tìm thấy thư mục / home / user của mình bằng cách sử dụng lệnh “pwd” trong shell. **

    extension_dir = "/home<#>//php/extensions"

  12. Thêm phần mở rộng vào tệp php.ini của bạn. Nó sẽ giống như:

    extension=.so

Tôi đã gặp phải sự cố tương tự này khi cập nhật hộp Vagrant của mình với XHGui , vì XHGui yêu cầu mongodb. Tôi muốn có thể hỗ trợ lập hồ sơ trên cả PHP 5.6 và 7.0.

Tôi đã đào sâu vào mã nguồn pecl và thấy rằng có một metadata_dirtùy chọn cấu hình. Đó là một đường dẫn đến một thư mục chứa trạng thái hiện tại của các gói đã cài đặt. Thật không may, điều đó chưa được đặt tên cho mỗi phiên bản PHP. Nếu bạn thử và đặt nó bằng pecl config-set, bạn sẽ gặp lỗi 'không thành công' mờ đục. Nó chỉ ra rằng cài đặt không được liệt kê trong danh sách trắng vì có thể định cấu hình trong \PEAR_Configlớp:

/**
 * Configuration values that can be set for a channel
 *
 * All other configuration values can only have a global value
 * @var array
 * @access private
 */
var $_channelConfigInfo = array(
    'php_dir', 'ext_dir', 'doc_dir', 'bin_dir', 'data_dir', 'cfg_dir',
    'test_dir', 'www_dir', 'php_bin', 'php_prefix', 'php_suffix', 'username',
    'password', 'verbose', 'preferred_state', 'umask', 'preferred_mirror', 'php_ini'
    );

Trong thế giới của PECL, 'toàn cầu' có nghĩa là nó chỉ có thể được đặt tại thời điểm cài đặt chứ không phải sau đó.

Đã xảy ra sự cố trong trình theo dõi PPA tại github: https://github.com/oerdnj/deb.sury.org/issues/407

Đề xuất cuối cùng là xây dựng tiện ích mở rộng theo cách thủ công cho các phiên bản PHP thay thế. Tôi đã kết thúc bằng cách sử dụng pecl cho các phần mở rộng PHP 7 và các bản dựng thủ công cho phiên bản 5.6. Đảm bảo rằng bạn chạy update-alternativesphp-config và phpize chứ không chỉ php trước khi xây dựng:

update-alternatives --set php /usr/bin/php5.6
update-alternatives --set php-config /usr/bin/php-config5.6
update-alternatives --set phpize /usr/bin/phpize5.6

Sau đó, giải nén phần mở rộng và xây dựng nó. Các bước sau từ vấn đề trên đã hiệu quả với tôi với tiện ích mở rộng mongodb:

phpize5.6 && ./configure --with-php-config=php-config5.6 && make && sudo make install

7 hữu ích 1 bình luận chia sẻ