Bạn có thể chạy php trên máy khách không?

Phần mở rộng chuỗi đa byte PHP. Tùy thuộc vào cấu hình PHP của bạn, bạn có thể cần phải cài đặt/cấu hình bổ sung cho nó

Cài đặt

Ứng dụng khách mỏng PHP được vận chuyển dưới dạng gói Trình soạn thảo và kho lưu trữ zip. Sử dụng bất kỳ phương pháp nào để cài đặt ứng dụng khách trong môi trường của bạn

Sử dụng Trình soạn thảo

composer require apache/apache-ignite-client

Để sử dụng ứng dụng khách trong ứng dụng của bạn, hãy đưa tệp

require_once __DIR__ . '/vendor/autoload.php';
2 do Composer tạo vào mã nguồn của bạn, ví dụ:

require_once __DIR__ . '/vendor/autoload.php';

Sử dụng Lưu trữ ZIP

Máy khách mỏng có thể được cài đặt từ kho lưu trữ zip có sẵn để tải xuống từ trang web Apache Ignite

  • Tải về

  • Giải nén kho lưu trữ và điều hướng đến thư mục gốc

  • Sử dụng lệnh bên dưới để cài đặt gói

composer install --no-dev

Để sử dụng ứng dụng khách trong ứng dụng của bạn, hãy đưa tệp

require_once __DIR__ . '/vendor/autoload.php';
2 do Composer tạo vào mã nguồn của bạn

require_once "/vendor/autoload.php";

Tạo một phiên bản ứng dụng khách

Tất cả các hoạt động của ứng dụng khách mỏng PHP được thực hiện thông qua một phiên bản

require_once __DIR__ . '/vendor/autoload.php';
4. Bạn có thể tạo bao nhiêu phiên bản
require_once __DIR__ . '/vendor/autoload.php';
4 nếu cần. Tất cả chúng sẽ hoạt động độc lập

________số 8_______

Kết nối với cụm

Để kết nối với một cụm, hãy xác định một đối tượng

require_once __DIR__ . '/vendor/autoload.php';
6 với các tham số kết nối mong muốn và sử dụng phương thức
require_once __DIR__ . '/vendor/autoload.php';
7

use Apache\Ignite\Client;
use Apache\Ignite\ClientConfiguration;
use Apache\Ignite\Exception\ClientException;

function connectClient[]: void
{
    $client = new Client[];
    try {
        $clientConfiguration = new ClientConfiguration[
            '127.0.0.1:10800', '127.0.0.1:10801', '127.0.0.1:10802'];
        // Connect to Ignite node
        $client->connect[$clientConfiguration];
    } catch [ClientException $e] {
        echo[$e->getMessage[]];
    }
}

connectClient[];

Hàm tạo

require_once __DIR__ . '/vendor/autoload.php';
6 chấp nhận danh sách các điểm cuối của nút. Ít nhất một điểm cuối phải được chỉ định. Nếu bạn chỉ định nhiều hơn một, máy khách tối thiểu sẽ sử dụng chúng cho

Nếu máy khách không thể kết nối với cụm, một

require_once __DIR__ . '/vendor/autoload.php';
9 sẽ bị ném khi cố gắng thực hiện bất kỳ thao tác từ xa nào

Nếu máy khách đột ngột mất kết nối trước hoặc trong khi vận hành, một

composer install --no-dev
0 sẽ bị ném. Trong trường hợp này, không biết liệu thao tác đã thực sự được thực thi trong cụm hay chưa. Máy khách sẽ cố gắng kết nối lại với nút tiếp theo được chỉ định trong cấu hình khi ứng dụng gọi thao tác tiếp theo

Gọi phương thức

composer install --no-dev
1 để đóng kết nối

Sử dụng API khóa-giá trị

Nhận/Tạo một trường hợp bộ đệm

Phiên bản máy khách cung cấp ba phương thức để lấy phiên bản bộ đệm

  • composer install --no-dev
    2 — trả về bộ đệm hiện có theo tên. Phương pháp này không xác minh xem bộ đệm có tồn tại trong cụm hay không;

  • composer install --no-dev
    3 — trả về bộ đệm hiện có theo tên hoặc tạo bộ đệm với cấu hình đã cho

  • composer install --no-dev
    4 — tạo bộ đệm với tên và tham số đã cho

Đây là cách bạn có thể tạo bộ đệm

$cacheCfg = new CacheConfiguration[];
$cacheCfg->setCacheMode[CacheConfiguration::CACHE_MODE_REPLICATED];
$cacheCfg->setWriteSynchronizationMode[CacheConfiguration::WRITE_SYNC_MODE_FULL_SYNC];

$cache = $client->getOrCreateCache['References', $cacheCfg];

Hoạt động khóa-giá trị cơ bản

Đoạn mã sau minh họa cách thực hiện các thao tác khóa-giá trị cơ bản với phiên bản bộ đệm

$val = array[];
$keys = range[1, 100];
foreach [$keys as $number] {
    $val[] = new CacheEntry[$number, strval[$number]];
}
$cache->putAll[$val];

$replace = $cache->replaceIfEquals[1, '2', '3'];
echo $replace ? 'true' : 'false'; //false
echo "\r\n";

$value = $cache->get[1];
echo $value; //1
echo "\r\n";

$replace = $cache->replaceIfEquals[1, "1", 3];
echo $replace ? 'true' : 'false'; //true
echo "\r\n";

$value = $cache->get[1];
echo $value; //3
echo "\r\n";

$cache->put[101, '101'];

$cache->removeKeys[$keys];
$sizeIsOne = $cache->getSize[] == 1;
echo $sizeIsOne ? 'true' : 'false'; //true
echo "\r\n";

$value = $cache->get[101];
echo $value; //101
echo "\r\n";

$cache->removeAll[];
$sizeIsZero = $cache->getSize[] == 0;
echo $sizeIsZero ? 'true' : 'false'; //true
echo "\r\n";

Truy vấn quét

Phương pháp

composer install --no-dev
5 có thể được sử dụng để lấy tất cả các mục từ bộ đệm. Nó trả về một đối tượng con trỏ với giao diện PHP Iterator tiêu chuẩn — sử dụng con trỏ này để lặp lại tập kết quả một cách lười biếng, từng cái một. Ngoài ra, con trỏ có các phương thức để nhận tất cả các kết quả cùng một lúc

$cache = $client->getOrCreateCache['personCache'];

$cache->put[1, new Person[1, 'John Smith']];
$cache->put[1, new Person[1, 'John Johnson']];

$qry = new ScanQuery[];
$cache->query[new ScanQuery[]];

Thực thi câu lệnh SQL

Máy khách mỏng PHP hỗ trợ tất cả các lệnh SQL được Ignite hỗ trợ. Các lệnh được thực thi thông qua phương thức

composer install --no-dev
6 của đối tượng bộ đệm. Phương thức chấp nhận một thể hiện của
composer install --no-dev
7 đại diện cho một câu lệnh SQL. Phương thức
composer install --no-dev
8 trả về một đối tượng con trỏ với giao diện PHP Iterator tiêu chuẩn — sử dụng con trỏ này để lặp lại tập kết quả một cách lười biếng, từng cái một. Ngoài ra, con trỏ có các phương thức để nhận tất cả các kết quả cùng một lúc

$create_table = new SqlFieldsQuery[
    sprintf['CREATE TABLE IF NOT EXISTS Person [id INT PRIMARY KEY, name VARCHAR] WITH "VALUE_TYPE=%s"', Person::class]
];
$create_table->setSchema['PUBLIC'];
$cache->query[$create_table]->getAll[];

$key = 1;
$val = new Person[1, 'Person 1'];

$insert = new SqlFieldsQuery['INSERT INTO Person[id, name] VALUES[?, ?]'];
$insert->setArgs[$val->id, $val->name];
$insert->setSchema['PUBLIC'];
$cache->query[$insert]->getAll[];

$select = new SqlFieldsQuery['SELECT name FROM Person WHERE id = ?'];
$select->setArgs[$key];
$select->setSchema['PUBLIC'];
$cursor = $cache->query[$select];
// Get the results; the `getAll[]` methods closes the cursor; you do not have to call cursor.close[];
$results = $cursor->getAll[];

if [sizeof[$results] != 0] {
    echo 'name = ' . $results[0][0];
    echo "\r\n";
}

Bảo vệ

SSL/TLS

Để sử dụng giao tiếp được mã hóa giữa máy khách tối thiểu và cụm, bạn phải kích hoạt nó trong cả cấu hình cụm và cấu hình máy khách. Tham khảo phần hướng dẫn về cấu hình cụm

Dưới đây là cấu hình ví dụ để kích hoạt SSL trong ứng dụng khách mỏng

require_once __DIR__ . '/vendor/autoload.php';
0

xác thực

Định cấu hình xác thực ở phía cụm và cung cấp tên người dùng và mật khẩu hợp lệ trong cấu hình máy khách

PHP có được thực thi trên máy khách không?

PHP được thực thi trên máy chủ, sau đó được dịch sang phía máy khách bằng mã HTML . Trình duyệt web của bạn sau đó sẽ tạo một đầu ra.

Bạn có thể chạy PHP mà không cần máy chủ không?

Bạn có thể tạo tập lệnh PHP để chạy tập lệnh đó mà không cần bất kỳ máy chủ hay trình duyệt nào . Bạn chỉ cần trình phân tích cú pháp PHP để sử dụng nó theo cách này. Kiểu sử dụng này lý tưởng cho các tập lệnh được thực thi thường xuyên bằng cron [trên *nix hoặc Linux] hoặc Trình lập lịch tác vụ [trên Windows]. Các tập lệnh này cũng có thể được sử dụng cho các tác vụ xử lý văn bản đơn giản.

Có thể sử dụng PHP làm ngôn ngữ kịch bản phía máy khách không?

Tập lệnh có thể được viết bằng bất kỳ ngôn ngữ kịch bản phía máy chủ nào có sẵn. . Sự khác biệt giữa kịch bản phía máy khách và kịch bản phía máy chủ

PHP có thể chạy cục bộ không?

XAMPP là một công cụ phát triển Web do Apache tạo ra, giúp dễ dàng chạy các tập lệnh PHP [Trang chủ cá nhân] cục bộ trên máy tính của bạn .

Chủ Đề