Fix Email Issues in CyberPanel with SMTP Relay Setup Free Method. First Create a email using your Cyberpanel Under Emai Tab Create Email Second go to the SSL tab and click …
You’ve probably seen many examples of password strength indicators around the web. They let users know the password they’re using is weak and indicate how the strength changes when it’s modified. …
Hi in this article i am going to show how to send multiple files attachment mail in Laravel. It’s simple example of Laravel send multiple attachment in mail. I explained simply …
Hi in this article i am going to show how to send multiple files attachment mail in Laravel. It’s simple example of Laravel send multiple attachment in mail. I explained simply step by step sending emails with multiple attachments.
so, let’s follow bellow steps:
Step 1 – Install Laravel Fresh Application
Use this command then download laravel project setup :
composer create-project --prefer-dist laravel/laravel blog
Step 2 - Set Mail Configuration
You have to add your gmail smtp configuration, open your .env file and add your configration.
.env
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class SendEmail extends Mailable
{
use Queueable, SerializesModels;
public $maildata;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($maildata)
{
$this->maildata = $maildata;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$email = $this->markdown('emails.mail')->with('maildata', $this->maildata);
$attachments = [
// first attachment
public_path('\images\img1.jpg'),
// second attachment
public_path('\images\img2.jpg'),
// third attachment
public_path('\images\img3.jpg'),
];
// $attachments is an array with file paths of attachments
foreach ($attachments as $filePath) {
$email->attach($filePath);
}
return $email;
}
}
Step 4 - Add Route
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\MailController;
Route::get('send-mail', [MailController::class, 'sendMail']);
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Mail\SendEmail;
use Mail;
class MailController extends Controller
{
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function sendMail()
{
$email = 'xyz@gmail.com';
$maildata = [
'title' => 'Laravel Mail Attach Multiple Files',
];
Mail::to($email)->send(new SendEmail($maildata));
dd("Mail has been sent successfully");
}
}
Hi in this article I am going to show how to implement Email SMTP using PHP Mailer. First you have to download PHPmailer library from github link is given below. https://github.com/PHPMailer/PHPMailer/tree/5.2-stable …
Implement Limit login with Mysql Database using Core PHP Hi, In this article i am going to show how to implement limit login system using PHP. Create the Database Open your PHPMyAdmin and …
Implement Limit login with Mysql Database using Core PHP
Hi, In this article i am going to show how to implement limit login system using PHP.
Create the Database
Open your PHPMyAdmin and create a new databse naming dbase. Then navigate to database SQL Tab and paste the SQL script below
Create a table
CREATE TABLE `loginlogs` (
`id` int(11) NOT NULL,
`IpAddress` varbinary(16) NOT NULL,
`TryTime` bigint(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `tbl_user` (
`id` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`salt` varchar(50) NOT NULL,
`password` varchar(200) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Here I am using salt for more secure your password. you can avoid it or simple using MD5 . Here I am only try to explain how to implement login attempts restriction.
Adding multiple white areas and line breaks in PHP code is vital for data format and displaying text properly on an online page. Strings from alternative software system is also victimisation …
Adding multiple white areas and line breaks in PHP code is vital for data format and displaying text properly on an online page. Strings from alternative software system is also victimisation totally different spacing characters and wish to be born-again to HTML tags. sadly, some pc architectures use totally different spacing characters than others. making areas in PHP is completed principally through the “echo” perform.
Step 1
Open the PHP file in a text editor, such as Windows Notepad.
Step 2
Add a single space between PHP variables by adding the code “echo $variable1 .” “. $variable2;.”
Step 3
Add multiple spaces by adding the code “echo $variable1 .” “. $variable2;.” The ” ” entity represents a non-breaking space. Using ” ” frequently doesn’t work because web browsers collapse multiple spaces into one.
Step 4
Add a space as a line break with the code “echo “\r\n””, “echo ”
“” or “echo “\n”.” The “\n” character represents a new line and the “\r” character represents a carriage return.
Step 5
Call the PHP “nl2br” function to replace every “\r”, “\n”, “\n\r” and “\r\n” entity in a string with an HTML line break, ” ” or ”
“, by adding the code “echo nl2br(“line1\nline2″);.” This will output “line1 ” and then “” on the next line.
Step 6
Save the PHP file, close it and then load it on your server.
is used for adding space in html and php
You can add html in between name and profession
$spName .= $row['firstname'];
$spPro = $row['profession'];
$options .= '<option value='. $spName . '' . $spPro .'>' . $row['firstname'] . ' ' . $row['lastname'] . ' - ' . $row['profession'] . '</option>';
// or i could also do it this way. $options .= '<option value='. $row['firstname'] . ' ' . $row['profession'] .'>' . $row['firstname'] . ' ' . $row['lastname'] . ' - ' . $row['profession'] . '</option>';
The following HTML5 tags provide the required components to add a file selector and an upload button to any web page: <input id=”fileupload” type=”file” name=”fileupload” /> <button id=”upload-button” onclick=”uploadFile()”> Upload </button> …
The button kicks off a method named uploadFile(), which contains the JavaScript file upload logic.
<script>
async function uploadFile() {
let formData = new FormData();
formData.append("file", fileupload.files[0]);
await fetch('/upload.php', {
method: "POST",
body: formData
});
alert('The file has been uploaded successfully.');
}
</script>
JavaScript file upload logic
The above script tag contains nothing but pure JavaScript. There’s no jQuery or Dojo thrown into the mix and the logic is straightforward:
Create a FormData object to contain the information to be sent to the server;
Add the chosen file to be uploaded to the FormData object;
Asynchronously call server-side resource to handle the upload; and
The server-side resource is invoked through the POST method
The server-side resource is passed the FormData which contains the file
In this example that server-side resource is named upload.php
When notified that the JavaScript file upload was successful, send an Ajax based alert to the client.
All the HTML and JavaScript logic will be contained in a single file named uploader.html. The complete HTML looks as follows:
<!DOCTYPE html>
<html>
<head>
<title> Ajax JavaScript File Upload Example </title>
</head>
<body>
<!-- HTML5 Input Form Elements -->
<input id="fileupload" type="file" name="fileupload" />
<button id="upload-button" onclick="uploadFile()"> Upload </button>
<!-- Ajax JavaScript File Upload Logic -->
<script>
async function uploadFile() {
let formData = new FormData();
formData.append("file", fileupload.files[0]);
await fetch('/upload.php', {
method: "POST",
body: formData
});
alert('The file has been uploaded successfully.');
}
</script>
</body>
</html>
Apache file upload processing
When an asynchronous JavaScript file upload happens, a server-side component must exist to handle the incoming file and store it.it requires a file named upload.php that contains a small PHP script to save the incoming file to a folder named uploads:
<?php
/* Get the name of the uploaded file */
$filename = $_FILES['file']['name'];
/* Choose where to save the uploaded file */
$location = "upload/".$filename;
/* Save the uploaded file to the local filesystem */
if ( move_uploaded_file($_FILES['file']['tmp_name'], $location) ) {
echo 'Success';
} else {
echo 'Failure';
}
?>
The PHP script is also straightforward. It obtains the name of the file being uploaded, and then creates a spot in a folder named upload to save the file. PHP’s move_uploaded_file method is then used to save the uploaded file to this new location.
Run the JavaScript file upload example
The files used in this example, along with a folder named upload, must be added to the htdocs folder of AHS. When a client accesses the uploader.html file through a browser, the client will be able to upload a file to the server using Ajax and pure JavaScript.
In this articles i am going to show how to create Change password option in using PHP AJAX and JQuery. Hope you have already configured login register and logout option. My …
Note:## You can see under the ajax folder changePassword.php file we have included Functions.php file. we will write PHP code on the same file like below
Functions.php
<?php
session_start();
include('DBClass.php');
/*Change Password function */
function change_password($currentPassword,$newPassword,$confirmPassword,$userId){
$db = new DBClass();
$result = $db->query('SELECT * FROM `tbl_new_admin` WHERE `id`='.$userId);
$data = mysqli_fetch_array($result);
$salt = $data['salt'];
if(sha1($salt.$currentPassword) == $data['password']){
if($newPassword == $confirmPassword){
$tmpPassword = $salt.$newPassword;
$updatePassword = sha1($tmpPassword);
$query = $db->query('UPDATE `tbl_new_admin` SET `password`= "'.$updatePassword.'" WHERE `id`='.$userId);
if($query)
echo '1';//Successfully Updated
else
echo '3';//Something Went Wrong
}else{
echo '2';//New Password Not Match
}
}else{
echo '0';//Current Password Not Match
}
}
Note:## You can see under the functions.php file we have started session_start(); and include DBClass.php
session_start(); will help us to store data in session and no need to include separately one by one page because we have included in functions.php file and DBClass.php file is our Database connectivity settings we will us it as an object
Folder Structure
admin/Connection
DBClass.php
DBSettings.php
Functions.php
admin/ajax
All ajax file placed here.
DBClass.php
<?php
require_once( 'DBSettings.php' );
class DBClass extends DatabaseSettings{
var $classQuery;
var $link;
var $errno = '';
var $error = '';
function __construct(){
$settings = DatabaseSettings::getSettings();
$host = $settings['dbhost'];
$name = $settings['dbname'];
$user = $settings['dbusername'];
$pass = $settings['dbpassword'];
$this->link = new mysqli( $host , $user , $pass , $name );
}
function query( $query ) {
$this->classQuery = $query;
return $this->link->query( $query );
}
function lastInsertedID(){
if($this->link->insert_id)
return $this->link->insert_id;
else
$this->link->errno;
}
}
?>
DBSettings.php
<?php
class DatabaseSettings{
var $settings;
function getSettings()
{
// Database variables
// Host name
$settings['dbhost'] = 'localhost';
// Database name
$settings['dbname'] = 'yourdbname';
// Username
$settings['dbusername'] = 'dbusername';
// Password
$settings['dbpassword'] = 'dbpassword';
return $settings;
}
}
?>
In this articles I am going to show how to install composer in windows 7 First we have to download composer link is given below https://getcomposer.org/ Click on Run Click on …
How to create a multi-user auth system in Laravel 8. Different login for user and admin configuration Larave8. Let,s Start composer create-project –prefer-dist laravel/laravel UserRegistrationSystem cd /UserRegistrationSystem create .env file in …
DB_DATABASE=your databse name
DB_USERNAME=Your database username
DB_PASSWORD=Your database password
composer require laravel/breeze
php artisan breeze:install
npm install
npm run dev
php artisan migrate
php artisan serve
Now you can see in the right side top bar login and register link appear
Create model as named Admin and migrate table using below command
php artisan make:model Admin -m
Go to the migrations folder and open the newly created 2021_10_07_154242_create_admins_table
Paste the below code
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAdminsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('admins', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('admins');
}
}
Go to the Model folder and open the newly created Admin model and paste the below code
<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class Admin extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var string[]
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
Now Set Route for Admin, go to the routes folder and open web.php file, and paste the below code
Create seed for admin using below command( we can manually import admin data but there will be password issue because we are inserted password has format).
php artisan make:seed AdminSeeder
Now you can see AdminSeeder.php file under the database→seeders→AdminSeeder.php
Paste the below code
AdminSeeder.php
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\Admin;
class AdminSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
$admin =[
'name'=>'Admin',
'email'=>'admin@gmail.com',
'password'=> bcrypt('password')
];
Admin::create($admin);
}
}
Now we have seed the data into the database using below command
we have to call DatabaseSeeder. Go to the DatabaseSeeder.php file and add the below code
public function run()
{
// \App\Models\User::factory(10)->create();
$this->call(AdminSeeder::class);
}
php artisan migrate:fresh --seed
Now create a guard for admin
Http→Model→Admin.php
below the use HasApiTokens, HasFactory, Notifiable;
protected $guard= 'admin';
Now go to the config folder and define the newly created Admin gurd on auth.php file.
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session"
|
*/
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
/*
|--------------------------------------------------------------------------
| Password Confirmation Timeout
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
| times out and the user is prompted to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
'password_timeout' => 10800,
];
Then go-to the Http→Middleware→RedirectIfAuthenticated.php and replace the below code
<?php
namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null ...$guards
* @return mixed
*/
public function handle(Request $request, Closure $next, ...$guards)
{
$guards = empty($guards) ? [null] : $guards;
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
if(Auth::guard($guard)->check()){
if($guard == 'admin'){
return redirect(RouteServiceProvider::ADMIN_HOME);
}
}
return redirect(RouteServiceProvider::HOME);
}
}
return $next($request);
}
}
Next, go to the Http→controllers→Admin→Auth→AuthenticatedSessionController.php
under the store function chek data is coming or not
dd($request->all());
Login with /login/admin
You can see successfully data has returned
Now go to the again AuthenticatedSessionController.php and change LoginRequest to AdminLoginRequest
Next, go to the Requests→Auth and create a new file AdminLoginRequest.php. paste the below code
<?php
namespace App\Http\Requests\Auth;
use Illuminate\Auth\Events\Lockout;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Str;
use Illuminate\Validation\ValidationException;
class AdminLoginRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => ['required', 'string', 'email'],
'password' => ['required', 'string'],
];
}
/**
* Attempt to authenticate the request's credentials.
*
* @return void
*
* @throws \Illuminate\Validation\ValidationException
*/
public function authenticate()
{
$this->ensureIsNotRateLimited();
if (! Auth::guard('admin')->attempt($this->only('email', 'password'), $this->boolean('remember'))) {
RateLimiter::hit($this->throttleKey());
throw ValidationException::withMessages([
'email' => __('auth.failed'),
]);
}
RateLimiter::clear($this->throttleKey());
}
/**
* Ensure the login request is not rate limited.
*
* @return void
*
* @throws \Illuminate\Validation\ValidationException
*/
public function ensureIsNotRateLimited()
{
if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) {
return;
}
event(new Lockout($this));
$seconds = RateLimiter::availableIn($this->throttleKey());
throw ValidationException::withMessages([
'email' => trans('auth.throttle', [
'seconds' => $seconds,
'minutes' => ceil($seconds / 60),
]),
]);
}
/**
* Get the rate limiting throttle key for the request.
*
* @return string
*/
public function throttleKey()
{
return Str::lower($this->input('email')).'|'.$this->ip();
}
}
Create a dashboard for admin
resources→views→admin- create a file name dashboard.blade.php
Now create a route for the admin dashboard under web.php file
Now create a HomeController under Admin folder using below command
php artisan make:controller Admin/HomeController
For windows, user command will
php artisan make:controller Admin\HomeController
And Linux User command will
php artisan make:controller Admin/HomeController
HomeController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class HomeController extends Controller
{
//
public function index()
{
return view('admin.dashboard');
}
}
Now you can see the error of Navigation
Now we will solve the error
simply compy the user layout folder and past it to admin folder
Next, go to the app/View/Components folder and create AdminLayout and paste the below code
AdminLayout.php
<?php
namespace App\View\Components;
use Illuminate\View\Component;
class AdminLayout extends Component
{
/**
* Get the view / contents that represents the component.
*
* @return \Illuminate\View\View
*/
public function render()
{
return view('admin.layouts.app');
}
}
Note: Under the Admin -layouts folder open navigation.blade.php file and replace all dashboard to admin.dashboard and change {{ Auth::user()->name }} to {{ Auth::guard(‘admin’)->user()->email }}
And most important things to do
Open admin→dashboard.blade.php change <x-app-layout> to<x-admin-layout>
Now you can see I logged in as an admin but when I typed but still access the admin login page, So it should not access the page, now we will solve the issue.
Open the welcome.blade.php file and add the below code
Now go to the Http→Controllers→Admin→Auth→AuthenticatedSessionController.php and replace with Auth::guard(‘web’)->logout(); to Auth::guard(‘admin’)->logout(); because we need to logout for admin guard.
Now you can see I have logged in as an admin but still access the admin login page. So, it should not access if already logged in, So, for this solution, we create middleware and set configuration
php artisan make:middleware AdminMiddleware
Now got to the middleware folder and open AdminMiddleware.php file and paste below code
AdminMiddleware.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Auth;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
if(!Auth::guard('admin')->check()){
return redirect()->route('admin.lgin');
}
return $next($request);
}
}
Next, go to the web.php file and create a middleware group, and put the protected Url in a middleware group
Now you can see we can’t access the dashboard if I am not logged in but still we have another problem that is we can access the login page as I have already logged in. it should not access if I have already logged in. So we need to add middleware where login route running
Introduction Composer is a popular dependency management tool for PHP, created mainly to facilitate installation and updates for project dependencies. It will check which other packages a specific project depends on and …
Composer is a popular dependency management tool for PHP, created mainly to facilitate installation and updates for project dependencies. It will check which other packages a specific project depends on and install them for you, using the appropriate versions according to the project requirements. Composer is also commonly used to bootstrap new projects based on popular PHP frameworks, such as Symfony and Laravel.
In this tutorial, you’ll install and get started with Composer on an Ubuntu 20.04 system
Prerequisites
In order to follow this guide, you will need access to an Ubuntu 20.04 server as a non-root sudo user, and a firewall enabled on your server. To set this up, you can follow our initial server setup guide for Ubuntu 20.04.
Step 1 — Installing PHP and Additional Dependencies
In addition to dependencies that should be already included within your Ubuntu 20.04 system, such as git and curl, Composer requires php-cli in order to execute PHP scripts in the command line, and unzip to extract zipped archives. We’ll install these dependencies now.
First, update the package manager cache by running:
sudo apt update
Next, run the following command to install the required packages:
sudo apt install php-cli unzip
You will be prompted to confirm installation by typing Y and then ENTER.
Once the prerequisites are installed, you can proceed to install Composer.
Step 2 — Downloading and Installing Composer
Composer provides an installer script written in PHP. We’ll download it, verify that it’s not corrupted, and then use it to install Composer.
Make sure you’re in your home directory, then retrieve the installer using curl:
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
Next, we’ll verify that the downloaded installer matches the SHA-384 hash for the latest installer found on the Composer Public Keys / Signatures page. To facilitate the verification step, you can use the following command to programmatically obtain the latest hash from the Composer page and store it in a shell variable:
If the output says Installer corrupt, you’ll need to download the installation script again and double-check that you’re using the correct hash. Then, repeat the verification process. When you have a verified installer, you can continue.
To install composer globally, use the following command which will download and install Composer as a system-wide command named composer, under /usr/local/bin:
output
All settings correct for using Composer Downloading... Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
To test your installation, run:
Output
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.10.5 2020-04-10 11:44:22
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
...
This verifies that Composer was successfully installed on your system and is available system-wide.