安裝PHP及擴展
sudo apt update
sudo apt install php php-cli php-fpm php-curl php-sockets # 安裝基礎及網絡相關擴展
配置防火墻
sudo ufw allow 'Nginx Full' # 允許HTTP/HTTPS流量(若使用Nginx)
使用cURL發送HTTP請求
<?php
$ch = curl_init('https://api.example.com/data');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);
?>
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['key=value']);
使用Socket實現TCP通信
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($socket, '127.0.0.1', 8080);
socket_listen($socket);
$client = socket_accept($socket);
$data = socket_read($client, 1024);
socket_write($client, "Received: $data");
socket_close($client);
socket_close($socket);
?>
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, '127.0.0.1', 8080);
socket_write($socket, "Hello Server!");
$response = socket_read($socket, 1024);
echo $response;
socket_close($socket);
curl_errno()/socket_last_error()捕獲錯誤。參考資料: