diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aae94acf..fead355c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,7 +118,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ``` 2. Replace your current version of `frankenphp` by the debug FrankenPHP executable -3. Start FrankenPHP as usual (alternatively, you can directly start FrankenPHP with GDB: `gdb --args ./frankenphp run`) +3. Start FrankenPHP as usual (alternatively, you can directly start FrankenPHP with GDB: `gdb --args frankenphp run`) 4. Attach to the process with GDB: ```console @@ -172,7 +172,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ```console go test -tags watcher -c -ldflags=-w - gdb --args ./frankenphp.test -test.run ^MyTest$ + gdb --args frankenphp.test -test.run ^MyTest$ ``` 9. When the bug is fixed, revert all these changes diff --git a/README.md b/README.md index be12c555..f299c1fb 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ On Windows, use [WSL](https://learn.microsoft.com/windows/wsl/) to run FrankenPH terminal to automatically install the version appropriate for your platform: ```console -curl -sLK https://raw.githubusercontent.com/dunglas/frankenphp/main/install.sh | sh +curl https://frankenphp.dev/install.sh | sh mv frankenphp /usr/local/bin/ ``` diff --git a/docs/cn/CONTRIBUTING.md b/docs/cn/CONTRIBUTING.md index fc4f0c6b..66be9ab2 100644 --- a/docs/cn/CONTRIBUTING.md +++ b/docs/cn/CONTRIBUTING.md @@ -118,7 +118,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ``` 2. 将当前版本的 `frankenphp` 替换为 debug FrankenPHP 可执行文件 -3. 照常启动 FrankenPHP(或者,你可以直接使用 GDB 启动 FrankenPHP: `gdb --args ./frankenphp run`) +3. 照常启动 FrankenPHP(或者,你可以直接使用 GDB 启动 FrankenPHP: `gdb --args frankenphp run`) 4. 使用 GDB 附加到进程: ```console @@ -172,7 +172,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ```console go test -tags watcher -c -ldflags=-w - gdb --args ./frankenphp.test -test.run ^MyTest$ + gdb --args frankenphp.test -test.run ^MyTest$ ``` 9. 当错误修复后,恢复所有这些更改 diff --git a/docs/cn/laravel.md b/docs/cn/laravel.md index 1d00f387..db47fe2a 100644 --- a/docs/cn/laravel.md +++ b/docs/cn/laravel.md @@ -35,7 +35,7 @@ docker run -p 80:80 -p 443:443 -p 443:443/udp -v $PWD:/app dunglas/frankenphp } ``` -3. 从 Laravel 项目的根目录启动 FrankenPHP:`./frankenphp run` +3. 从 Laravel 项目的根目录启动 FrankenPHP:`frankenphp run` ## Laravel Octane diff --git a/docs/cn/worker.md b/docs/cn/worker.md index 7164724d..053e4fdd 100644 --- a/docs/cn/worker.md +++ b/docs/cn/worker.md @@ -22,7 +22,7 @@ docker run \ 使用 `php-server` 命令的 `--worker` 选项, 执行命令使当前目录的内容使用 worker: ```console -./frankenphp php-server --worker /path/to/your/worker/script.php +frankenphp php-server --worker /path/to/your/worker/script.php ``` ## Symfony Runtime diff --git a/docs/fr/CONTRIBUTING.md b/docs/fr/CONTRIBUTING.md index 2df7bc8e..6bc591d8 100644 --- a/docs/fr/CONTRIBUTING.md +++ b/docs/fr/CONTRIBUTING.md @@ -146,7 +146,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ```console go test -tags watcher -c -ldflags=-w - gdb --args ./frankenphp.test -test.run ^MyTest$ + gdb --args frankenphp.test -test.run ^MyTest$ ``` 9. Quand le bug est corrigé, annulez tous les changements diff --git a/docs/fr/README.md b/docs/fr/README.md index 43be5e0a..74180480 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -34,18 +34,27 @@ Rendez-vous sur `https://localhost`, c'est parti ! ### Binaire autonome Si vous préférez ne pas utiliser Docker, nous fournissons des binaires autonomes de FrankenPHP pour Linux et macOS -contenant [PHP 8.3](https://www.php.net/releases/8.3/fr.php) et la plupart des extensions PHP populaires : [Télécharger FrankenPHP](https://github.com/dunglas/frankenphp/releases) +contenant [PHP 8.3](https://www.php.net/releases/8.3/fr.php) et la plupart des extensions PHP populaires. + +Sous Windows, utilisez [WSL](https://learn.microsoft.com/windows/wsl/) pour exécuter FrankenPHP. + +[Téléchargez FrankenPHP](https://github.com/dunglas/frankenphp/releases) ou copiez cette ligne dans votre terminal pour installer automatiquement la version appropriée à votre plateforme : + +```console +curl https://frankenphp.dev/install.sh | sh +mv frankenphp /usr/local/bin/ +``` Pour servir le contenu du répertoire courant, exécutez : ```console -./frankenphp php-server +frankenphp php-server ``` Vous pouvez également exécuter des scripts en ligne de commande avec : ```console -./frankenphp php-cli /path/to/your/script.php +frankenphp php-cli /path/to/your/script.php ``` ## Documentation diff --git a/docs/fr/laravel.md b/docs/fr/laravel.md index e314da61..bc15a0c0 100644 --- a/docs/fr/laravel.md +++ b/docs/fr/laravel.md @@ -17,7 +17,7 @@ Et profitez ! Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votre machine locale : -1. [Téléchargez le binaire correspondant à votre système](https://github.com/dunglas/frankenphp/releases) +1. [Téléchargez le binaire correspondant à votre système](README.md#binaire-autonome) 2. Ajoutez la configuration suivante dans un fichier nommé `Caddyfile` placé dans le répertoire racine de votre projet Laravel : ```caddyfile @@ -36,7 +36,7 @@ Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votr } ``` -3. Démarrez FrankenPHP depuis le répertoire racine de votre projet Laravel : `./frankenphp run` +3. Démarrez FrankenPHP depuis le répertoire racine de votre projet Laravel : `frankenphp run` ## Laravel Octane diff --git a/docs/fr/worker.md b/docs/fr/worker.md index dc1e0006..21b25668 100644 --- a/docs/fr/worker.md +++ b/docs/fr/worker.md @@ -22,7 +22,7 @@ docker run \ Utilisez l'option --worker de la commande php-server pour servir le contenu du répertoire courant en utilisant un worker : ```console -./frankenphp php-server --worker /path/to/your/worker/script.php +frankenphp php-server --worker /path/to/your/worker/script.php ``` Si votre application PHP est [intégrée dans le binaire](embed.md), vous pouvez également ajouter un `Caddyfile` personnalisé dans le répertoire racine de l'application. diff --git a/docs/laravel.md b/docs/laravel.md index bb0da8ea..3d2b562b 100644 --- a/docs/laravel.md +++ b/docs/laravel.md @@ -35,7 +35,7 @@ Alternatively, you can run your Laravel projects with FrankenPHP from your local } ``` -3. Start FrankenPHP from the root directory of your Laravel project: `./frankenphp run` +3. Start FrankenPHP from the root directory of your Laravel project: `frankenphp run` ## Laravel Octane @@ -128,25 +128,25 @@ Follow these steps to package your Laravel app as a standalone binary for Linux: 4. Populate caches: ```console - ./frankenphp php-cli artisan optimize + frankenphp php-cli artisan optimize ``` 5. Run database migrations (if any): ```console - ./frankenphp php-cli artisan migrate + frankenphp php-cli artisan migrate ```` 6. Generate app's secret key: ```console - ./frankenphp php-cli artisan key:generate + frankenphp php-cli artisan key:generate ``` 7. Start the server: ```console - ./frankenphp php-server + frankenphp php-server ``` Your app is now ready! @@ -170,7 +170,7 @@ To do so, [install Octane properly](#laravel-octane) and follow the steps descri Then, to start FrankenPHP in worker mode through Octane, run: ```console -PATH="$PWD:$PATH" ./frankenphp php-cli artisan octane:frankenphp +PATH="$PWD:$PATH" frankenphp php-cli artisan octane:frankenphp ``` > [!CAUTION] diff --git a/docs/tr/CONTRIBUTING.md b/docs/tr/CONTRIBUTING.md index 30295f54..4f6e33c8 100644 --- a/docs/tr/CONTRIBUTING.md +++ b/docs/tr/CONTRIBUTING.md @@ -118,7 +118,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ``` 2. Mevcut `frankenphp` sürümünüzü hata ayıklama FrankenPHP çalıştırılabilir dosyasıyla değiştirin -3. FrankenPHP'yi her zamanki gibi başlatın (alternatif olarak FrankenPHP'yi doğrudan GDB ile başlatabilirsiniz: `gdb --args ./frankenphp run`) +3. FrankenPHP'yi her zamanki gibi başlatın (alternatif olarak FrankenPHP'yi doğrudan GDB ile başlatabilirsiniz: `gdb --args frankenphp run`) 4. GDB ile sürece bağlanın: ```console @@ -172,7 +172,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push ```console go test -tags watcher -c -ldflags=-w - gdb --args ./frankenphp.test -test.run ^MyTest$ + gdb --args frankenphp.test -test.run ^MyTest$ ``` 9. Hata düzeltildiğinde, tüm bu değişiklikleri geri alın diff --git a/docs/tr/laravel.md b/docs/tr/laravel.md index b4172491..c2f822b7 100644 --- a/docs/tr/laravel.md +++ b/docs/tr/laravel.md @@ -35,7 +35,7 @@ Alternatif olarak, Laravel projelerinizi FrankenPHP ile yerel makinenizden çal } ``` -3. FrankenPHP'yi Laravel projenizin kök dizininden başlatın: `./frankenphp run` +3. FrankenPHP'yi Laravel projenizin kök dizininden başlatın: `frankenphp run` ## Laravel Octane diff --git a/docs/tr/worker.md b/docs/tr/worker.md index d26b16a4..24b75b55 100644 --- a/docs/tr/worker.md +++ b/docs/tr/worker.md @@ -22,7 +22,7 @@ docker run \ Geçerli dizinin içeriğini bir worker kullanarak sunmak için `php-server` komutunun `--worker` seçeneğini kullanın: ```console -./frankenphp php-server --worker /path/to/your/worker/script.php +frankenphp php-server --worker /path/to/your/worker/script.php ``` PHP uygulamanız [binary dosyaya gömülü](embed.md) ise, uygulamanın kök dizinine özel bir `Caddyfile` ekleyebilirsiniz. diff --git a/docs/worker.md b/docs/worker.md index 25d6b55f..ca121ef9 100644 --- a/docs/worker.md +++ b/docs/worker.md @@ -22,7 +22,7 @@ docker run \ Use the `--worker` option of the `php-server` command to serve the content of the current directory using a worker: ```console -./frankenphp php-server --worker /path/to/your/worker/script.php +frankenphp php-server --worker /path/to/your/worker/script.php ``` If your PHP app is [embedded in the binary](embed.md), you can add a custom `Caddyfile` in the root directory of the app. @@ -32,7 +32,7 @@ It's also possible to [restart the worker on file changes](config.md#watching-fo The following command will trigger a restart if any file ending in `.php` in the `/path/to/your/app/` directory or subdirectories is modified: ```console -./frankenphp php-server --worker /path/to/your/worker/script.php --watch "/path/to/your/app/**/*.php" +frankenphp php-server --worker /path/to/your/worker/script.php --watch "/path/to/your/app/**/*.php" ``` ## Symfony Runtime diff --git a/install.sh b/install.sh index d1e1e3df..f268d542 100755 --- a/install.sh +++ b/install.sh @@ -12,6 +12,12 @@ DEST=${BIN_DIR}/frankenphp OS=$(uname -s) ARCH=$(uname -m) +if type "tput" >/dev/null 2>&1; then + bold=$(tput bold) + italic=$(tput sitm) + normal=$(tput sgr0) +fi + case ${OS} in Linux*) case ${ARCH} in @@ -37,7 +43,7 @@ Darwin*) esac ;; Windows | MINGW64_NT*) - echo "Install and use WSL to use FrankenPHP on Windows: https://learn.microsoft.com/windows/wsl/" + echo "❗ Use WSL to run FrankenPHP on Windows: https://learn.microsoft.com/windows/wsl/" exit 1 ;; *) @@ -46,24 +52,37 @@ Windows | MINGW64_NT*) esac if [ -z "${THE_ARCH_BIN}" ]; then - echo "FrankenPHP is not supported on ${OS} and ${ARCH}" + echo "❗ FrankenPHP is not supported on ${OS} and ${ARCH}" exit 1 fi SUDO="" +echo "📦 Downloading ${bold}FrankenPHP${normal} for ${OS} (${ARCH}):" + # check if $DEST is writable and suppress an error message touch "${DEST}" 2>/dev/null # we need sudo powers to write to DEST if [ $? -eq 1 ]; then - echo "You do not have permission to write to ${DEST}, enter your password to grant sudo powers" + echo "❗ You do not have permission to write to ${italic}${DEST}${normal}, enter your password to grant sudo powers" SUDO="sudo" fi -${SUDO} curl -L --progress-bar "https://github.com/dunglas/frankenphp/releases/latest/download/${THE_ARCH_BIN}" -o "${DEST}" +if type "curl" >/dev/null 2>&1; then + curl -L --progress-bar "https://github.com/dunglas/frankenphp/releases/latest/download/${THE_ARCH_BIN}" -o "${DEST}" +elif type "wget" >/dev/null 2>&1; then + ${SUDO} wget "https://github.com/dunglas/frankenphp/releases/latest/download/${THE_ARCH_BIN}" -O "${DEST}" +else + echo "❗ Please install ${italic}curl${normal} or ${italic}wget${normal} to download FrankenPHP" + exit 1 +fi ${SUDO} chmod +x "${DEST}" -echo "FrankenPHP downloaded successfully to ${DEST}" -echo "Move the binary to /usr/local/bin/ or another directory in your PATH to use it globally: sudo mv ${DEST} /usr/local/bin/" +echo +echo "🥳 FrankenPHP downloaded successfully to ${italic}${DEST}${normal}" +echo "🔧 Move the binary to ${italic}/usr/local/bin/${normal} or another directory in your ${italic}PATH${normal} to use it globally:" +echo " ${bold}sudo mv ${DEST} /usr/local/bin/${normal}" +echo +echo "⭐ If you like FrankenPHP, please give it a star on GitHub: ${italic}https://github.com/dunglas/frankenphp${normal}"