Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / server.php
Created July 10, 2025 20:47
stream_socket_server で TLS 対応の HTTP/1 サーバー。ハンドラー形式。
<?php
// --- 1. 自己署名証明書+秘密鍵を生成 --- //
// OpenSSL 設定(鍵長・鍵タイプ等)
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
// 1.1. 秘密鍵を生成
@masakielastic
masakielastic / 01-README.md
Created July 10, 2025 19:31
select で TLS 対応の HTTP/1 サーバー。ハンドラー方式

select で TLS 対応の HTTP/1 サーバー。ハンドラー方式

ビルドしてサーバーを起動させます。

gcc -o server server.c -lssl -lcrypto
./server

curl で HTTP リクエストを送信します。

@masakielastic
masakielastic / server.php
Created July 10, 2025 18:47
stream_socket_server による TLS 対応の HTTP/1 サーバー。自己署名の証明書と秘密鍵の自動生成機能つき。
<?php
// --- 1. 自己署名証明書+秘密鍵を生成 --- //
// OpenSSL 設定(鍵長・鍵タイプ等)
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
// 1.1. 秘密鍵を生成
@masakielastic
masakielastic / mkcert.php
Last active July 10, 2025 18:37
stream_socket_server で TLS 対応の HTTP/1 サーバー
<?php
// 1. 秘密鍵と CSR(証明書署名要求)のオプションを設定
$config = [
"config" => "/etc/ssl/openssl.cnf", // 必要に応じて openssl.cnf へのパスを調整
"private_key_bits" => 2048, // 鍵長
"private_key_type" => OPENSSL_KEYTYPE_RSA, // 鍵タイプ
];
// 2. 秘密鍵の生成
$privateKey = openssl_pkey_new($config);
@masakielastic
masakielastic / 01-README.md
Last active July 9, 2025 05:59
ICU4C で書記素クラスターを1つずつ表示する

ICU4C で書記素クラスターを1つずつ表示する

gcc -o show_graphemes show_graphemes.c $(pkg-config --cflags --libs icu-uc)
./show_graphemes
@masakielastic
masakielastic / 01-README.md
Last active July 9, 2025 02:37
str_iter のベンチマーク
@masakielastic
masakielastic / 01-README.md
Last active July 4, 2025 18:46
php-node で HTTP/2 +TLS サーバーを作成する

php-node で HTTP/2 +TLS サーバーを作成する

構成

  • package.json
  • bin/phpnode-server.js
  • public PHP スクリプトの設置場所
@masakielastic
masakielastic / cli.js
Last active July 4, 2025 16:29
php-node を使って CLI で PHP スクリプトを実行する
import { Php, Request } from '@platformatic/php-node';
import path from 'path';
import fs from 'fs';
const phpScript = process.argv[2];
if (!phpScript) {
console.error('Usage: node cli.js <php-script>');
process.exit(1);
}
@masakielastic
masakielastic / README.md
Last active July 4, 2025 13:15
php-node で phpinfo のページを表示させる

php-node で phpinfo のページを表示させる

npm init -y
npm install @platformatic/php-node
@masakielastic
masakielastic / 01-README.md
Last active July 2, 2025 14:44
nghttpx (HTTP/2) + PHP ビルトインサーバーの起動スクリプト

nghttpx (HTTP/2) + PHP ビルトインサーバーの起動スクリプト

動作確認

  • Debian 12
export PATH=$PATH:/usr/sbin