12 Commits
8.0.0 ... 8.2.0

Author SHA1 Message Date
Leo Khoa
6a9a83fb47 Improve AutoSSL 2025-05-25 18:43:37 +02:00
Leo Khoa
593338f8f8 Update the laragon core 2025-05-01 11:20:45 +02:00
Leo Khoa
f403e94463 Merge pull request #1147 from AhmedAlaa4611/master
Remove trailing whitespace
2025-05-01 11:18:15 +02:00
Ahmed Alaa
ec467a6f33 Remove trailing whitespace 2025-05-01 11:34:28 +03:00
Leo Khoa
4b7289618f Update resources info to match with the latest version 2025-04-23 17:57:22 +02:00
Leo Khoa
b716689318 Fixed license issue on old server
Crash when inserting license key in Laragon 8 on Windows Server 2012 R2
https://github.com/leokhoa/laragon/discussions/1106
2025-04-03 11:02:25 +02:00
Leo Khoa
b99af56576 Update Laragon 2025-04-03 10:48:48 +02:00
Leo Khoa
45219c7b39 Add files via upload 2025-03-24 10:02:51 +01:00
Leo Khoa
98a6ced6b0 Update CHANGELOG.md 2025-03-18 21:40:52 +01:00
Leo Khoa
620dc8bc72 Merge pull request #1077 from leokhoa/alxndr-w-patch-1
Update README.md with license information
2025-03-18 21:39:46 +01:00
Alexander Walther
3ad0d09569 Update README.md with license information 2025-03-18 13:21:43 +01:00
Leo Khoa
9fdd698e09 Fixed minor issues 2025-03-14 18:13:00 +01:00
24 changed files with 79 additions and 77 deletions

View File

@@ -1 +1 @@
https://github.com/leokhoa/laragon/releases

View File

@@ -6,18 +6,20 @@ Laragon is a portable, isolated, fast & powerful universal development environme
Laragon is great for building and managing modern web applications. It is focused on performance - designed around stability, simplicity, flexibility and freedom.
Laragon is very lightweight and will stay as lean as possible. The core binary itself is less than 2MB and uses less than 4MB RAM when running.
Laragon is very lightweight and will stay as lean as possible. The core binary itself is less than 6MB and uses around 4MB - 10MB RAM when running.
Laragon doesn't use Windows services. It has its own `service orchestration` which manages services asynchronously and non-blocking so you'll find things run fast & smoothly with Laragon.
Enjoy!
> Starting with Laragon 7.x, a license is required to use Laragon. For more details, visit <https://laragon.lemonsqueezy.com/>.
## Features
- **Pretty URLs**
Use `app.test` instead of `localhost/app`.
- **Portable**
You can move Laragon folder around (to another disks, to another laptops, sync to Cloud,...) without any worries.
You can move Laragon folder around (to another disks, to another laptops, sync to Cloud,...) without any worries.
- **Isolated**
Laragon has an isolated environment with your OS - it will keep your system clean.
- **Easy Operation**
@@ -26,7 +28,7 @@ Enjoy!
Laragon comes with a modern architecture which is suitable to build modern web apps. You can work with both Apache & Nginx as they are fully-managed.
Also, Laragon makes things a lot easier:
- Wanna have a Wordpress CMS? Just 1 click.
- Wanna show your local project to customers? Just 1 click.
- Wanna show your local project to customers? Just 1 click.
- Wanna enable/disable a PHP extension? Just 1 click.
@@ -37,7 +39,7 @@ Enjoy!
## How fast?
Laragon starts instantly. You can set Laragon autorun when Windows starts. When running, Laragon uses just a little amount of your RAM.
Here is the GUI of Laragon:
![0_1513173700919_01-dashboard.png](https://i.imgur.com/0py3k1X.png)
![0_1513173700919_01-dashboard.png](https://i.imgur.com/0py3k1X.png)
## How easy?
- Laragon is very easy to install & upgrade. Just download the latest version and click `Next, Next, Next...`

View File

@@ -2,12 +2,12 @@
## Supported Versions
| Version | Supported |Reason |
| Version | Supported |Reason |
| ------- | ------------------ | ---------- |
| >=7.0 | :white_check_mark: | |
| <=6.0 | :x: | EOL |
## Reporting a Vulnerability
If you find a security vulnerability in Laragon, please report it via email to Leo Khoa at leo@laragon.org
If you find a security vulnerability in Laragon, please report it via email to Leo Khoa at leo@laragon.org
We take security seriously, and all reports will be promptly addressed.

View File

@@ -1,10 +1,10 @@
Alias /adminer "C:/laragon/etc/apps/adminer/"
# to give access from outside
# to give access from outside
# replace the lines
#
# Require local
#
#
# by
#
# Require all granted
@@ -12,8 +12,8 @@ Alias /adminer "C:/laragon/etc/apps/adminer/"
<Directory "C:/laragon/etc/apps/adminer/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
AllowOverride all
Require local
</Directory>

View File

@@ -1,10 +1,10 @@
Alias /laragon "C:/laragon/etc/apps/laragon/"
# to give access from outside
# to give access from outside
# replace the lines
#
# Require local
#
#
# by
#
# Require all granted
@@ -12,18 +12,18 @@ Alias /laragon "C:/laragon/etc/apps/laragon/"
<Directory "C:/laragon/etc/apps/laragon/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
AllowOverride None
Require local
</Directory>
<Directory "C:/laragon/etc/apps/laragon/uploads/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
AllowOverride None
DirectoryIndex None.Always.Listing
Require local
SetHandler none
SetHandler default-handler

View File

@@ -1,9 +1,9 @@
Alias /memcached "C:/laragon/etc/apps/memcached/"
# to give access from outside
# to give access from outside
# replace the lines
#
# Require local
# Require local
#
# by
#
@@ -13,7 +13,7 @@ Alias /memcached "C:/laragon/etc/apps/memcached/"
<Directory "C:/laragon/etc/apps/memcached/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>

View File

@@ -1,10 +1,10 @@
Alias /phpmyadmin "C:/laragon/etc/apps/phpMyAdmin/"
# to give access from outside
# to give access from outside
# replace the lines
#
# Require local
#
#
# by
#
# Require all granted
@@ -12,8 +12,8 @@ Alias /phpmyadmin "C:/laragon/etc/apps/phpMyAdmin/"
<Directory "C:/laragon/etc/apps/phpMyAdmin/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
AllowOverride all
Require local
</Directory>

View File

@@ -1,9 +1,9 @@
Alias /redis "C:/laragon/etc/apps/phpredisAdmin/"
# to give access from outside
# to give access from outside
# replace the lines
#
# Require local
# Require local
#
# by
#
@@ -13,7 +13,7 @@ Alias /redis "C:/laragon/etc/apps/phpredisAdmin/"
<Directory "C:/laragon/etc/apps/phpredisAdmin/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>

View File

@@ -8,7 +8,7 @@ FcgidInitialEnv TEMP "C:/Windows/Temp"
FcgidInitialEnv TMP "C:/Windows/Temp"
FcgidInitialEnv windir "C:/Windows"
# 10 hrs: in case you have long running scripts, increase FcgidIOTimeout
# 10 hrs: in case you have long running scripts, increase FcgidIOTimeout
FcgidIOTimeout 36000
FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 0

View File

@@ -5,7 +5,7 @@ SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLHonorCipherOrder on
SSLHonorCipherOrder on
SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3
@@ -13,5 +13,3 @@ SSLProxyProtocol all -SSLv3
SSLSessionCache "shmcb:logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300

View File

@@ -38,14 +38,14 @@ if exist "%USER_DIR%\user.cmd" (
echo :: call start-ssh-agent.cmd
echo :: set PATH=%%USER_DIR%%\bin\whatever;%%PATH%%
echo.
echo :: cmd /c start http://localhost
echo :: cmd /c start http://localhost
echo.
) > "%USER_DIR%\user.cmd"
:: cd /d "%CMDER_ROOT%\..\..\www"
rem
)
:: Laragon End -------------------------------------------------------------------
exit /b 0

View File

@@ -6,7 +6,7 @@ location /adminer {
location ~ ^/adminer/(.+\.php)$ {
alias C:/laragon/etc/apps/adminer/$1;
fastcgi_pass php_upstream;
fastcgi_pass php_upstream;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $request_filename;

View File

@@ -12,7 +12,7 @@ location ~ /laragon/uploads/(.+)\.php$ {
location ~ ^/laragon/(.+\.php)$ {
allow all;
alias C:/laragon/etc/apps/laragon/$1;
fastcgi_pass php_upstream;
fastcgi_pass php_upstream;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $request_filename;

View File

@@ -3,10 +3,10 @@ location /memcached {
alias C:/laragon/etc/apps/memcached/;
index index.php;
}
location ~ ^/memcached/(.+\.php)$ {
alias C:/laragon/etc/apps/memcached/$1;
fastcgi_pass php_upstream;
fastcgi_pass php_upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;

View File

@@ -3,12 +3,12 @@ location /phpmyadmin {
alias C:/laragon/etc/apps/phpmyadmin/;
index index.php;
}
location ~ ^/phpmyadmin/(.+\.php)$ {
alias C:/laragon/etc/apps/phpmyadmin/$1;
fastcgi_pass php_upstream;
fastcgi_pass php_upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;

View File

@@ -6,7 +6,7 @@ location /redis {
location ~ ^/redis/(.+\.php)$ {
alias C:/laragon/etc/apps/phpRedisAdmin/$1;
fastcgi_pass php_upstream;
fastcgi_pass php_upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;

View File

@@ -173,9 +173,9 @@ class Memcached
protected $socket = null;
public function getVersion() {
return ['localhost:11211' => '1.4.5'];
return ['localhost:11211' => '1.4.5'];
}
//may check: https://raw.githubusercontent.com/GoogleCloudPlatform/python-compat-runtime/master/appengine-compat/exported_appengine_sdk/php/sdk/google/appengine/runtime/Memcached.php
public function setMulti() {
@@ -185,7 +185,7 @@ class Memcached
//TODO
die('TODO');
}
/**
* Add a serer to the server pool
*
@@ -444,7 +444,7 @@ class Memcached
/**
* Store an item.
* Store an item.
* Fails if $key already exists
*
* @param string $key
@@ -464,7 +464,7 @@ class Memcached
if ('STORED' == $s) {
$this->resultCode = Memcached::RES_SUCCESS;
$this->resultMessage = '';
$this->resultMessage = '';
return true;
} else {

Binary file not shown.

View File

@@ -9,7 +9,6 @@
; PWD: Current working directory - where the COMMANDS run
# Examples:
; My Cool App: autorun node start $PORT PORT=9000 env_file=usr\my_file.env PWD=usr/proj/myapp DB_HOST=1.2.3.4 DB_PORT=9999 DB_USER=user DB_PASS="!$Ab.cs3cre1" DB_NAME=cooldb
; My Cool App: autorun node start $PORT PORT=9000 env_file=usr\my_file.env PWD=usr/proj/myapp DB_HOST=1.2.3.4 DB_PORT=9999 DB_USER=user DB_PASS="!$Ab.cs3cre1" DB_NAME=cooldb
; Awesome Tool: "PATH HAS SPACES SHOULD BE QUOTED LIKE THIS"
------------------------------------------------------------------------------

View File

@@ -9,7 +9,6 @@
; PWD: Current working directory - where the COMMANDS run
# Examples:
; My Cool App: autorun node start $PORT PORT=9000 env_file=usr\my_file.env PWD=usr/proj/myapp DB_HOST=1.2.3.4 DB_PORT=9999 DB_USER=user DB_PASS="!$Ab.cs3cre1" DB_NAME=cooldb
; My Cool App: autorun node start $PORT PORT=9000 env_file=usr\my_file.env PWD=usr/proj/myapp DB_HOST=1.2.3.4 DB_PORT=9999 DB_USER=user DB_PASS="!$Ab.cs3cre1" DB_NAME=cooldb
; Awesome Tool: "PATH HAS SPACES SHOULD BE QUOTED LIKE THIS"
------------------------------------------------------------------------------

View File

@@ -1,30 +1,33 @@
# PHP
# https://windows.php.net/download/
# NTS = Non Thread Safe
*PHP-8.4=https://windows.php.net/downloads/releases/archives/php-8.4.2-nts-Win32-vs17-x64.zip
*PHP-8.3=https://windows.php.net/downloads/releases/archives/php-8.3.15-nts-Win32-vs16-x64.zip
*PHP-8.2=https://windows.php.net/downloads/releases/archives/php-8.2.27-nts-Win32-vs16-x64.zip
*PHP-8.1=https://windows.php.net/downloads/releases/archives/php-8.1.31-nts-Win32-vs16-x64.zip
# NTS = Non Thread Safe
*PHP-8.4=https://windows.php.net/downloads/releases/archives/php-8.4.3-nts-Win32-vs17-x64.zip
*PHP-8.3=https://windows.php.net/downloads/releases/archives/php-8.3.16-nts-Win32-vs16-x64.zip
*PHP-8.2=https://windows.php.net/downloads/releases/archives/php-8.2.26-nts-Win32-vs16-x64.zip
*PHP-8.1=https://windows.php.net/downloads/releases/archives/php-8.1.30-nts-Win32-vs16-x64.zip
---
# Web Servers
Apache-2.4.63=https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.63-250122-win64-VS17.zip
Nginx-1.27.3=https://nginx.org/download/nginx-1.27.3.zip
Apache-2.4.57=https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.57-win64-VS16.zip
Nginx-1.27.4=https://nginx.org/download/nginx-1.27.4.zip
---
# Node.js
# https://nodejs.org/en/download/prebuilt-binaries/current
node-23=https://nodejs.org/dist/v23.4.0/node-v23.4.0-win-x64.zip
node-22=https://nodejs.org/dist/v22.12.0/node-v22.12.0-win-x64.zip
node-23.9=https://nodejs.org/dist/v23.9.0/node-v23.9.0-win-x64.zip
node-22.14=https://nodejs.org/dist/v22.14.0/node-v22.14.0-win-x64.zip
---
# phpMyAdmin
# After download, visit -> http://localhost/phpmyadmin
phpmyadmin=https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
phpmyadmin-6.0snapshot=https://files.phpmyadmin.net/snapshots/phpMyAdmin-6.0+snapshot-english.tar.xz
phpmyadmin=https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-english.zip
# DB Tools
DBeaver=https://dbeaver.io/files/dbeaver-ce-latest-win32.win32.x86_64.zip
@@ -48,7 +51,7 @@ postgresql-15.10=https://sbp.enterprisedb.com/getfile.jsp?fileid=1259300
---
# MongoDB
# MongoDB
# https://www.mongodb.com/try/download/community
#mongodb-8=https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.4.zip
#mongodb-7=https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-7.0.14.zip
@@ -61,8 +64,10 @@ code=https://go.microsoft.com/fwlink/?Linkid=850641
---
# Golang
# https://go.dev/dl/
golang-1.23=https://go.dev/dl/go1.23.4.windows-amd64.zip
go-1.24=https://go.dev/dl/go1.24.1.windows-amd64.zip
go-1.23=https://go.dev/dl/go1.23.4.windows-amd64.zip
# Pocketbase
# https://github.com/pocketbase/pocketbase/releases
pocketbase=https://github.com/pocketbase/pocketbase/releases/download/v0.23.7/pocketbase_0.23.7_windows_amd64.zip
pocketbase=https://github.com/pocketbase/pocketbase/releases/download/v0.25.9/pocketbase_0.25.9_windows_amd64.zip

View File

@@ -1,15 +1,15 @@
Simplicity is the ultimate sophistication. - Leonardo da Vinci
Success is going from failure to failure without losing your enthusiasm. - Winston Churchill
Success is going from failure to failure without losing your enthusiasm. - Winston Churchill
The journey of a thousand miles begins with one step. - Lao Tzu
Dream big and dare to fail. - Norman Vaughan
Dream big and dare to fail. - Norman Vaughan
The power of imagination makes us infinite. - John Muir
Make each day your masterpiece. - John Wooden
Believe and act as if it were impossible to fail. - Charles Kettering
Make each day your masterpiece. - John Wooden
Believe and act as if it were impossible to fail. - Charles Kettering
Light tomorrow with today. - Elizabeth Barrett Browning
Even if you're on the right track, you'll get run over if you just sit there. - Will Rogers
Even if you're on the right track, you'll get run over if you just sit there. - Will Rogers
Believe you can and you're halfway there. - Theodore Roosevelt
Don't wait. The time will never be just right. - Napoleon Hill
A year from now you may wish you had started today. - Karen Lamb
Don't wait. The time will never be just right. - Napoleon Hill
A year from now you may wish you had started today. - Karen Lamb
It is never too late to be what you might have been. - George Eliot
If there is no struggle, there is no progress. - Frederick Douglass
What we fear doing most is usually what we most need to do. - Tim Ferriss

View File

@@ -6,7 +6,7 @@ Cached=true
Blank=
# WordPress
WordPress=https://wordpress.org/latest.tar.gz
WordPress=https://wordpress.org/latest.tar.gz
------------------------------------------------------
@@ -29,5 +29,5 @@ Laravel CLI=laravel new %s
# CakePHP
### CakePHP=composer create-project --prefer-dist cakephp/app %s
# Symfony
# Symfony
Symfony=composer create-project symfony/website-skeleton %s

View File

@@ -1,6 +1,6 @@
<?php
if (!empty($_GET['q'])) {
$query = htmlspecialchars($_GET['q'], ENT_QUOTES, 'UTF-8');
$query = htmlspecialchars($_GET['q'], ENT_QUOTES, 'UTF-8');
switch ($query) {
case 'info':
@@ -51,7 +51,6 @@ if (!empty($_GET['q'])) {
.title {
font-size: 60px;
margin: 0;
}
.info {
@@ -92,7 +91,7 @@ if (!empty($_GET['q'])) {
<h1 class="title" title="Laragon">Laragon</h1>
<div class="info">
<p><?php echo htmlspecialchars($_SERVER['SERVER_SOFTWARE'], ENT_QUOTES, 'UTF-8'); ?></p>
<p>PHP version: <?php echo htmlspecialchars(phpversion(), ENT_QUOTES, 'UTF-8'); ?>
<p>PHP version: <?php echo htmlspecialchars(phpversion(), ENT_QUOTES, 'UTF-8'); ?>
<a title="phpinfo()" href="/?q=info">info</a>
</p>
<p>Document Root: <?php echo htmlspecialchars($_SERVER['DOCUMENT_ROOT'], ENT_QUOTES, 'UTF-8'); ?></p>