From 65a32a977ff87729d0b4e8b37f758fd8dff7ca2b Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Sat, 22 Apr 2023 02:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BF=AB=E9=80=9F=E8=BF=9B?= =?UTF-8?q?=E5=85=A5=E7=BC=96=E8=AF=91=E7=8E=AF=E5=A2=83=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickstart/linux/x86_64/README.md | 33 +++++++++++++++++++ quickstart/linux/x86_64/alpine-3.16-init.sh | 14 ++++++++ .../x86_64}/connection-static-php-cli.sh | 0 .../{ => linux/x86_64}/debian-11-init.sh | 4 +-- .../prepare-php-runtime-linux-x86_64.sh | 0 quickstart/linux/x86_64/prepare.sh | 25 ++++++++++++++ .../linux/x86_64/run-alpine-3.16-container.sh | 25 ++++++++++++++ .../x86_64}/run-debian-11-container.sh | 0 .../prepare-php-runtime-macos-x86_64.sh | 33 +++++++++++++++++++ quickstart/{ => macOS/x86_64}/prepare.sh | 6 ++-- 10 files changed, 136 insertions(+), 4 deletions(-) create mode 100644 quickstart/linux/x86_64/README.md create mode 100644 quickstart/linux/x86_64/alpine-3.16-init.sh rename quickstart/{ => linux/x86_64}/connection-static-php-cli.sh (100%) rename quickstart/{ => linux/x86_64}/debian-11-init.sh (86%) rename quickstart/{ => linux/x86_64}/prepare-php-runtime-linux-x86_64.sh (100%) create mode 100644 quickstart/linux/x86_64/prepare.sh create mode 100644 quickstart/linux/x86_64/run-alpine-3.16-container.sh rename quickstart/{ => linux/x86_64}/run-debian-11-container.sh (100%) create mode 100644 quickstart/macOS/x86_64/prepare-php-runtime-macos-x86_64.sh rename quickstart/{ => macOS/x86_64}/prepare.sh (58%) diff --git a/quickstart/linux/x86_64/README.md b/quickstart/linux/x86_64/README.md new file mode 100644 index 00000000..206688f3 --- /dev/null +++ b/quickstart/linux/x86_64/README.md @@ -0,0 +1,33 @@ +# 快速启动容器环境 +> 提供了2款构建环境 +> 任意一款都可以 + + +## debian 11 构建环境 + +```bash + +# 启动 debian 11 容器环境 +sh quickstart/linux/x86_64/run-debian-11-container.sh + +# 进入容器 +sh quickstart/linux/x86_64/connection-static-php-cli.sh + +# 准备构建基础软件 +sh quickstart/linux/x86_64/debian-11-init.sh + +``` + +## aline 构建环境 +```bash + +# 启动 alpine 容器环境 +sh quickstart/linux/x86_64/run-alpine-3.16-container.sh + +# 进入容器 +sh sh quickstart/linux/x86_64/connection-static-php-cli.sh + +# 准备构建基础软件 +sh quickstart/linux/x86_64/alpine-3.16-init.sh + +``` \ No newline at end of file diff --git a/quickstart/linux/x86_64/alpine-3.16-init.sh b/quickstart/linux/x86_64/alpine-3.16-init.sh new file mode 100644 index 00000000..238e91bd --- /dev/null +++ b/quickstart/linux/x86_64/alpine-3.16-init.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -exu +__DIR__=$( + cd "$(dirname "$0")" + pwd +) + +test -f /etc/apk/repositories.save || cp /etc/apk/repositories /etc/apk/repositories.save +sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories + +apk update + +apk add vim alpine-sdk xz autoconf automake linux-headers clang-dev clang lld libtool cmake bison re2c gettext coreutils \ No newline at end of file diff --git a/quickstart/connection-static-php-cli.sh b/quickstart/linux/x86_64/connection-static-php-cli.sh similarity index 100% rename from quickstart/connection-static-php-cli.sh rename to quickstart/linux/x86_64/connection-static-php-cli.sh diff --git a/quickstart/debian-11-init.sh b/quickstart/linux/x86_64/debian-11-init.sh similarity index 86% rename from quickstart/debian-11-init.sh rename to quickstart/linux/x86_64/debian-11-init.sh index c5a14e37..9e4463b6 100644 --- a/quickstart/debian-11-init.sh +++ b/quickstart/linux/x86_64/debian-11-init.sh @@ -10,9 +10,9 @@ sed -i "s@deb.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list && \ sed -i "s@security.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list apt update -y -apt install -y git curl wget ca-certificates +apt install -y git curl wget ca-certificates apt install -y xz-utils autoconf automake libclang-13-dev clang lld libtool cmake bison re2c gettext coreutils lzip zip unzip apt install -y pkg-config bzip2 flex -apt install -y musl-gcc + # apt install build-essential linux-headers-$(uname -r) \ No newline at end of file diff --git a/quickstart/prepare-php-runtime-linux-x86_64.sh b/quickstart/linux/x86_64/prepare-php-runtime-linux-x86_64.sh similarity index 100% rename from quickstart/prepare-php-runtime-linux-x86_64.sh rename to quickstart/linux/x86_64/prepare-php-runtime-linux-x86_64.sh diff --git a/quickstart/linux/x86_64/prepare.sh b/quickstart/linux/x86_64/prepare.sh new file mode 100644 index 00000000..19f5d0d2 --- /dev/null +++ b/quickstart/linux/x86_64/prepare.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -exu +__DIR__=$( + cd "$(dirname "$0")" + pwd +) +__PROJECT__=$( + cd ${__DIR__}/../ + pwd +) +cd ${__PROJECT__} + +composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ + +chmod +x bin/spc + +./bin/spc fetch --all --debug + +./bin/spc list-ext + + +#./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo,pdo_sqlite,ftp,curl" --cc=gcc --cxx=g++ --debug + +./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo,pdo_sqlite,ftp,curl" --cc=clang --cxx=clang++ --debug diff --git a/quickstart/linux/x86_64/run-alpine-3.16-container.sh b/quickstart/linux/x86_64/run-alpine-3.16-container.sh new file mode 100644 index 00000000..f0e6fbb5 --- /dev/null +++ b/quickstart/linux/x86_64/run-alpine-3.16-container.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -exu +__DIR__=$( + cd "$(dirname "$0")" + pwd +) +__PROJECT__=$( + cd ${__DIR__}/../ + pwd +) +cd ${__DIR__} + + +{ + docker stop static-php-cli-dev-1 +} || { + echo $? +} +cd ${__DIR__} +IMAGE=alpine:3.16 + +cd ${__DIR__} +docker run --rm --name static-php-cli-dev-1 -d -v ${__PROJECT__}:/work -w /work $IMAGE tail -f /dev/null + diff --git a/quickstart/run-debian-11-container.sh b/quickstart/linux/x86_64/run-debian-11-container.sh similarity index 100% rename from quickstart/run-debian-11-container.sh rename to quickstart/linux/x86_64/run-debian-11-container.sh diff --git a/quickstart/macOS/x86_64/prepare-php-runtime-macos-x86_64.sh b/quickstart/macOS/x86_64/prepare-php-runtime-macos-x86_64.sh new file mode 100644 index 00000000..2bf74b4b --- /dev/null +++ b/quickstart/macOS/x86_64/prepare-php-runtime-macos-x86_64.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -exu +__DIR__=$( + cd "$(dirname "$0")" + pwd +) +__PROJECT__=$( + cd ${__DIR__}/../../ + pwd +) +cd ${__PROJECT__} + + +mkdir -p ${__PROJECT__}/bin/runtime +mkdir -p ${__PROJECT__}/var + +cd ${__PROJECT__}/var + + + +test -f swoole-cli-v5.0.1-macos-x64.tar.xz || wget -O swoole-cli-v5.0.1-macos-x64.tar.xz https://github.com/swoole/swoole-src/releases/download/v5.0.1/swoole-cli-v5.0.1-macos-x64.tar.xz +test -f swoole-cli-v5.0.1-macos-x64.tar || xz -d -k swoole-cli-v5.0.1-macos-x64.tar.xz +test -f swoole-cli || tar -xvf swoole-cli-v5.0.1-macos-x64.tar +chmod a+x swoole-cli + +test -f composer.phar || wget -O composer.phar https://getcomposer.org/download/2.5.5/composer.phar +chmod a+x composer.phar + +mv ${__PROJECT__}/var/swoole-cli ${__PROJECT__}/bin/runtime/php +mv ${__PROJECT__}/var/composer.phar ${__PROJECT__}/bin/runtime/composer + +export PATH=${__PROJECT__}/bin/runtime:$PATH \ No newline at end of file diff --git a/quickstart/prepare.sh b/quickstart/macOS/x86_64/prepare.sh similarity index 58% rename from quickstart/prepare.sh rename to quickstart/macOS/x86_64/prepare.sh index c278d338..ef978b42 100644 --- a/quickstart/prepare.sh +++ b/quickstart/macOS/x86_64/prepare.sh @@ -11,6 +11,8 @@ __PROJECT__=$( ) cd ${__PROJECT__} +export PATH=${__PROJECT__}/bin/runtime:$PATH + composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ chmod +x bin/spc @@ -18,5 +20,5 @@ chmod +x bin/spc ./bin/spc fetch --all --debug ./bin/spc list-ext -# 构建包含 bcmath,openssl,tokenizer,sqlite3,pdo_sqlite,ftp,curl 扩展的 php-cli 和 micro.sfx -./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo_sqlite,ftp,curl" --build-all --cc=gcc --debug \ No newline at end of file + +./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo,pdo_sqlite,ftp,curl" --cc=clang --cxx=clang++ --debug