13 Commits
8.0.0 ... 8.2.2

Author SHA1 Message Date
Leo Khoa
705c0da87b Fix close to system tray issue #1219 2025-06-29 13:29:31 +02:00
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 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. 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! Enjoy!
> Starting with Laragon 7.x, a license is required to use Laragon. For more details, visit <https://laragon.lemonsqueezy.com/>.
## Features ## Features
- **Pretty URLs** - **Pretty URLs**
Use `app.test` instead of `localhost/app`. Use `app.test` instead of `localhost/app`.
- **Portable** - **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** - **Isolated**
Laragon has an isolated environment with your OS - it will keep your system clean. Laragon has an isolated environment with your OS - it will keep your system clean.
- **Easy Operation** - **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. 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: Also, Laragon makes things a lot easier:
- Wanna have a Wordpress CMS? Just 1 click. - 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. - Wanna enable/disable a PHP extension? Just 1 click.
@@ -37,7 +39,7 @@ Enjoy!
## How fast? ## How fast?
Laragon starts instantly. You can set Laragon autorun when Windows starts. When running, Laragon uses just a little amount of your RAM. 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: 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? ## How easy?
- Laragon is very easy to install & upgrade. Just download the latest version and click `Next, Next, Next...` - 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 ## Supported Versions
| Version | Supported |Reason | | Version | Supported |Reason |
| ------- | ------------------ | ---------- | | ------- | ------------------ | ---------- |
| >=7.0 | :white_check_mark: | | | >=7.0 | :white_check_mark: | |
| <=6.0 | :x: | EOL | | <=6.0 | :x: | EOL |
## Reporting a Vulnerability ## 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. We take security seriously, and all reports will be promptly addressed.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ FcgidInitialEnv TEMP "C:/Windows/Temp"
FcgidInitialEnv TMP "C:/Windows/Temp" FcgidInitialEnv TMP "C:/Windows/Temp"
FcgidInitialEnv windir "C:/Windows" 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 FcgidIOTimeout 36000
FcgidConnectTimeout 16 FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 0 FcgidMaxRequestsPerProcess 0

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -173,9 +173,9 @@ class Memcached
protected $socket = null; protected $socket = null;
public function getVersion() { 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 //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() { public function setMulti() {
@@ -185,7 +185,7 @@ class Memcached
//TODO //TODO
die('TODO'); die('TODO');
} }
/** /**
* Add a serer to the server pool * Add a serer to the server pool
* *
@@ -444,7 +444,7 @@ class Memcached
/** /**
* Store an item. * Store an item.
* Fails if $key already exists * Fails if $key already exists
* *
* @param string $key * @param string $key
@@ -464,7 +464,7 @@ class Memcached
if ('STORED' == $s) { if ('STORED' == $s) {
$this->resultCode = Memcached::RES_SUCCESS; $this->resultCode = Memcached::RES_SUCCESS;
$this->resultMessage = ''; $this->resultMessage = '';
return true; return true;
} else { } else {

Binary file not shown.

View File

@@ -9,7 +9,6 @@
; PWD: Current working directory - where the COMMANDS run ; PWD: Current working directory - where the COMMANDS run
# Examples: # 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" ; Awesome Tool: "PATH HAS SPACES SHOULD BE QUOTED LIKE THIS"
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

View File

@@ -9,7 +9,6 @@
; PWD: Current working directory - where the COMMANDS run ; PWD: Current working directory - where the COMMANDS run
# Examples: # 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" ; Awesome Tool: "PATH HAS SPACES SHOULD BE QUOTED LIKE THIS"
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

View File

@@ -1,30 +1,33 @@
# PHP # PHP
# https://windows.php.net/download/ # https://windows.php.net/download/
# NTS = Non Thread Safe # 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.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.15-nts-Win32-vs16-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.27-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.31-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 # Web Servers
Apache-2.4.63=https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.63-250122-win64-VS17.zip 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 # Node.js
# https://nodejs.org/en/download/prebuilt-binaries/current # 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-23.9=https://nodejs.org/dist/v23.9.0/node-v23.9.0-win-x64.zip
node-22=https://nodejs.org/dist/v22.12.0/node-v22.12.0-win-x64.zip node-22.14=https://nodejs.org/dist/v22.14.0/node-v22.14.0-win-x64.zip
--- ---
# phpMyAdmin # phpMyAdmin
# After download, visit -> http://localhost/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 # DB Tools
DBeaver=https://dbeaver.io/files/dbeaver-ce-latest-win32.win32.x86_64.zip 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 # https://www.mongodb.com/try/download/community
#mongodb-8=https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.4.zip #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 #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 # Golang
# https://go.dev/dl/ # 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 # Pocketbase
# https://github.com/pocketbase/pocketbase/releases # 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 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 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 The power of imagination makes us infinite. - John Muir
Make each day your masterpiece. - John Wooden Make each day your masterpiece. - John Wooden
Believe and act as if it were impossible to fail. - Charles Kettering Believe and act as if it were impossible to fail. - Charles Kettering
Light tomorrow with today. - Elizabeth Barrett Browning 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 Believe you can and you're halfway there. - Theodore Roosevelt
Don't wait. The time will never be just right. - Napoleon Hill 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 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 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 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 What we fear doing most is usually what we most need to do. - Tim Ferriss

View File

@@ -6,7 +6,7 @@ Cached=true
Blank= Blank=
# WordPress # 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
### CakePHP=composer create-project --prefer-dist cakephp/app %s ### CakePHP=composer create-project --prefer-dist cakephp/app %s
# Symfony # Symfony
Symfony=composer create-project symfony/website-skeleton %s Symfony=composer create-project symfony/website-skeleton %s

View File

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