Natri mở rộng php là gì?

Chúng tôi đã cài đặt bản cập nhật mới trên hai máy chủ của mình. Kết quả lại đau đầu.
Có thể tài liệu của chúng tôi có thể giúp những người khác gặp phải vấn đề tương tự.

Cả hai máy chủ đều đang sử dụng Debian 10 và đã nhận được Bản cập nhật Plesk PHP trước đó từ ngày 14 tháng 6 năm 2022 và đã được sửa chữa tương ứng.
Chúng có cùng cấu hình, nhưng trước đây một máy chủ đã được nâng cấp từ Debian 9 lên Debian 10 ("Máy chủ 1").

Sau khi áp dụng các bản cập nhật Plesk PHP mới từ ngày 17 tháng 6 năm 2022, điều sau đã xảy ra.

Máy chủ 1.
- chúng tôi lại gặp sự cố với các phiên bản Nextcloud đang chạy trên máy chủ (không thể đăng nhập nữa / thông báo lỗi)
- giải pháp thay thế. khởi động lại trình xử lý PHP theo cách thủ công hoặc khởi động lại máy chủ (chúng tôi đang sử dụng rất nhiều trình xử lý FPM chuyên dụng)

Máy chủ 2.
- máy chủ này gặp sự cố nghiêm trọng hơn. natri. ini không được tạo bởi bản cập nhật (trên bản cập nhật trước trên máy chủ này, natri. ini cũng không bị xóa - chúng tôi đã thực hiện thủ công theo đề xuất của nhóm Plesk)
- giải pháp thay thế. tạo tệp theo cách thủ công và khởi động lại trình xử lý PHP hoặc khởi động lại máy chủ (chúng tôi đang sử dụng nhiều trình xử lý FPM chuyên dụng)
- sự cố tiếp theo. phần mở rộng natri vẫn không được liệt kê lại trong "Công cụ & Cài đặt => Cài đặt PHP"
- giải pháp thay thế. chạy "plesk repair web -php-handlers"

 

Natri mở rộng php là gì?

nôn nao 2

Tiếng Pleskian cơ bản

  • Ngày 16 tháng 6 năm 2022
  • #1

Tên người dùng.

TITLE

Natri mở rộng PHP đột nhiên không được đóng gói nữa

SẢN PHẨM, PHIÊN BẢN, HỆ ĐIỀU HÀNH, KIẾN TRÚC

Plesk Obsidian 18.0.44 Update #3, Debian 10.12, x86-64

MÔ TẢ SỰ CỐ

Không có bất kỳ thông báo nào trong nhật ký thay đổi, tiện ích mở rộng natri PHP đã bị xóa khỏi các bản phát hành Plesk PHP mới nhất.

Bản cập nhật PHP - ngày 14 tháng 6 năm 2022

Bản cập nhật PHP 8. 1 đến phiên bản 8. 1. 7.
Cập nhật PHP 8. 0 đến phiên bản 8. 0. 20.
Cập nhật PHP 7. 4 đến phiên bản 7. 4. 30.

BƯỚC ĐỂ TÁI TẠO

Nâng cấp Máy chủ Plesk lên phiên bản mới nhất Plesk Obsidian 18. 0. 44 Cập nhật #3.

KẾT QUẢ THỰC TẾ

Natri mở rộng PHP bị xóa khỏi các phiên bản PHP ổn định 7. 4, 8. 0 và 8. 1.

KẾT QUẢ MONG ĐỢI

Natri tiện ích mở rộng PHP không bị xóa và vẫn được gói hoặc ít nhất hiển thị cảnh báo trong nhật ký thay đổi, tại sao nó không được gói nữa.

MỌI THÔNG TIN BỔ SUNG

(KHÔNG TRẢ LỜI CÂU HỎI)

Kỳ vọng của bạn từ nhóm dịch vụ PLESK

Confirm bug

 

Natri mở rộng php là gì?

IgorG

diễn đàn phân tích

Thành viên đội ngũ nhân viên

  • Ngày 16 tháng 6 năm 2022
  • #2

https. //hỗ trợ. cầu xin. com/hc/en-us/articles/6077118452370

 

  • Natri mở rộng php là gì?

nôn nao 2

Tiếng Pleskian cơ bản

  • Ngày 16 tháng 6 năm 2022
  • #3

Có vẻ như sự cố đã được giải quyết là PPS-13031. Một bài báo KB cũng đã được xuất bản. https. //hỗ trợ. cầu xin. com/hc/en-us/articles/6077118452370
Xem chủ đề. Sự cố - Không có tiện ích mở rộng natri cho PHP 7. 4. 30 FPM

Trong trường hợp của chúng tôi, chúng tôi cũng phải khởi động lại thủ công tất cả các trình xử lý PHP để khắc phục sự cố.

 

Natri mở rộng php là gì?

nôn nao 2

Tiếng Pleskian cơ bản

  • Ngày 17 tháng 6 năm 2022
  • #4

Bản cập nhật PHP - ngày 17 tháng 6 năm 2022

Linux

Tiện ích mở rộng của Natri hiện đã hoạt động cho PHP 7. 4, 8. 0 và 8. 1 lần nữa. (PPPM-13609)
Mật khẩu Argon2 hiện đang hoạt động trên Debian 9 “Stretch” cho PHP 7. 4, 8. 0, 8. 1. (PPPM-13611)

Natri mở rộng php là gì?

Nhật ký thay đổi cho Plesk Obsidian

Tìm hiểu về các thay đổi, bổ sung và cập nhật cho Plesk Obsidian trên cơ sở lặp đi lặp lại

tài liệu. cầu xin. com


We can close here.

 

Tài liệu đầy đủ tại đây. Sử dụng Libsodium trong Dự án PHP, hướng dẫn sử dụng tiện ích mở rộng libsodium PHP cho mã hóa hiện đại, an toàn và nhanh chóng

Cài đặt

libsodium (và, nếu bạn đang sử dụng các gói nhị phân, trên một số bản phân phối, thì cũng phải cài đặt

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
7) trước tiện ích mở rộng này

Sau đó, sử dụng trình quản lý tiện ích mở rộng PHP

$ sudo pecl install -f libsodium

Trên một số bản phân phối Linux như Debian, bạn có thể phải cài đặt PECL (

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
0), gói phát triển PHP (
$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
1) và trình biên dịch (
$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
2) trước khi chạy lệnh này

libsodium-php 1. x API tương thích cho libsodium-php 2. x

Đối với các dự án sử dụng 1. x hoặc sẵn sàng sử dụng nó, lớp tương thích có sẵn

Polyfill Libsodium mang lại không gian tên

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
3

ví dụ

Mã hóa một tin nhắn bằng khóa bí mật

mã hóa

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);

giải mã

$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);

Làm thế nào nó hoạt động

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
4 là khóa bí mật. Không phải mật khẩu. Đó là dữ liệu nhị phân, không phải thứ được thiết kế để con người có thể đọc được, mà là để có một không gian khóa càng lớn càng tốt trong một độ dài nhất định. Hàm
$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
5 tạo một khóa như vậy. Điều đó phải được giữ bí mật, vì nó được sử dụng để mã hóa và giải mã dữ liệu

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
6 là một giá trị duy nhất. Giống như bí mật, độ dài của nó là cố định. Nhưng nó không nhất thiết phải là bí mật và có thể được gửi cùng với tin nhắn được mã hóa. Nonce cũng không phải là không thể đoán trước. Nó chỉ phải là duy nhất cho một khóa nhất định. Với API
$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
7, sử dụng
$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
8 là một cách hoàn toàn tốt để tạo nonces

Thư được mã hóa lớn hơn một chút so với thư không được mã hóa, vì chúng bao gồm trình xác thực, được sử dụng bởi chức năng giải mã để kiểm tra xem nội dung có bị thay đổi không

Mã hóa một tin nhắn bằng khóa bí mật và ẩn độ dài của nó

mã hóa

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
2

giải mã

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
3

Làm thế nào nó hoạt động

Đôi khi, độ dài của một tin nhắn có thể cung cấp nhiều thông tin về bản chất của nó. Nếu một tin nhắn là một trong số "có", "không" và "có thể", mã hóa tin nhắn không giúp được gì. biết độ dài là đủ để biết tin nhắn là gì

Đệm là một kỹ thuật để giảm thiểu điều này, bằng cách làm cho độ dài bội số của một kích thước khối nhất định

Tin nhắn phải được đệm trước khi mã hóa và bỏ đệm sau khi giải mã

Mã hóa tệp bằng khóa bí mật

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
4

giải mã tập tin

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
5

Làm thế nào nó hoạt động

Có nhiều mã hơn một chút so với các ví dụ trước

Trên thực tế,

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
9 sẽ hoạt động để mã hóa dưới dạng tệp, nhưng chỉ khi tệp đó khá nhỏ. Vì chúng tôi phải cung cấp toàn bộ nội dung dưới dạng một chuỗi nên nội dung đó phải vừa với bộ nhớ

Nếu tệp lớn, chúng tôi có thể chia tệp thành các phần nhỏ và mã hóa từng phần riêng lẻ

Bằng cách đó, chúng tôi có thể mã hóa các tệp lớn tùy ý. Nhưng chúng tôi cần đảm bảo rằng các khối không thể bị xóa, cắt bớt, sao chép và sắp xếp lại. Nói cách khác, chúng tôi không có một "tin nhắn" duy nhất, mà là một luồng tin nhắn và trong quá trình giải mã, chúng tôi cần một cách để kiểm tra xem toàn bộ luồng có khớp với những gì chúng tôi đã mã hóa không

Vì vậy, chúng tôi tạo một luồng mới (

$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
0) và đẩy một chuỗi thông báo vào đó (
$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
1). Mỗi tin nhắn riêng lẻ có một thẻ được gắn vào nó, theo mặc định là
$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
2. Để quá trình giải mã biết được điểm cuối của luồng, chúng tôi gắn thẻ tin nhắn cuối cùng bằng thẻ
$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
3

Khi chúng tôi sử dụng luồng (

$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
4, sau đó là
$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
5 cho mỗi thư), chúng tôi kiểm tra xem chúng có thể được giải mã đúng cách hay không và truy xuất cả các đoạn được giải mã và các thẻ được đính kèm. Nếu chúng tôi đọc đoạn cuối cùng (
$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
3) và chúng tôi đang ở cuối tệp, chúng tôi biết rằng chúng tôi đã khôi phục hoàn toàn luồng ban đầu

Mã hóa tệp bằng khóa lấy từ mật khẩu

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
4

Đọc các tham số được lưu trữ và giải mã tệp

$secretKey = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';

$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encryptedMessage = sodium_crypto_secretbox($message, $nonce, $secretKey);
5

Làm thế nào nó hoạt động

Không thể sử dụng trực tiếp mật khẩu làm khóa bí mật. Mật khẩu ngắn, phải gõ được trên bàn phím và những người không sử dụng trình quản lý mật khẩu có thể nhớ chúng

Mật khẩu 8 ký tự theo cách này yếu hơn khóa 8 byte

Hàm

$decryptedMessage = sodium_crypto_secretbox_open($encryptedMessage, $nonce, $secretKey);
7 thực hiện một thao tác tính toán chuyên sâu trên mật khẩu để lấy khóa bí mật

Bằng cách đó, việc sử dụng vũ phu tất cả các mật khẩu có thể để tìm khóa bí mật được sử dụng để mã hóa dữ liệu trở thành một hoạt động tốn kém

Có thể sử dụng nhiều thuật toán để lấy khóa từ mật khẩu và đối với mỗi thuật toán, có thể chọn các tham số khác nhau. Điều quan trọng là lưu trữ tất cả những thứ này cùng với dữ liệu được mã hóa. Sử dụng cùng một thuật toán và cùng các tham số, cùng một khóa bí mật có thể được tính toán lại một cách xác định

Phần mở rộng PHP được sử dụng để làm gì?

Tệp có phần mở rộng tệp PHP là tệp mã nguồn PHP chứa mã Bộ tiền xử lý siêu văn bản. Chúng thường được sử dụng làm tệp trang web thường tạo HTML từ công cụ PHP chạy trên máy chủ web . Nội dung HTML mà công cụ PHP tạo ra từ mã là nội dung được thấy trong trình duyệt web.

Ba loại phần mở rộng tệp PHP là gì?

Việc triển khai tham chiếu PHP hiện do Nhóm PHP sản xuất. . PHP

Thư mục mở rộng PHP ở đâu?

Phần mở rộng PHP thường được gọi là "php_*. dll" (trong đó ngôi sao đại diện cho tên của tiện ích mở rộng) và chúng nằm trong thư mục "PHP\ext" . PHP cung cấp các tiện ích mở rộng hữu ích nhất cho phần lớn các nhà phát triển. Chúng được gọi là tiện ích mở rộng "cốt lõi".

Làm cách nào để bật tiện ích mở rộng PHP?

Để bật PHP Extension intl , hãy làm theo các bước. .
Mở xampp/php/php. ini trong bất kỳ trình chỉnh sửa nào
Tìm kiếm ";extension=php_intl. dll"
vui lòng bỏ dấu chấm phẩy bắt đầu ( ; ) Like. ;phần mở rộng=php_intl. dll. đến. tiện ích mở rộng = php_intl. dll
Lưu xampp/php/php. tập tin ini
Khởi động lại xampp/wamp của bạn