How to Solve ErrorException file_put_contents failed to open stream: No such file or directory in Laravel 5.7

The best way to solve this problem is,

You should typically run the php artisan config:cache command as part of your production deployment routine. I suggest you

  1. Remove the configuration cache file
  2. Flush the application cache
  3. Create a cache file for faster configuration loading

To do this, run the following Artisan commands on your command line

  1. php artisan config:clear
  2. php artisan cache:clear
  3. php artisan config:cache

Where you don’t have access to the command line on your server, you can programmatically execute commands by adding the following to your routes:

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('config:clear');
    $exitCode = Artisan::call('cache:clear');
    $exitCode = Artisan::call('config:cache');
    return 'DONE'; //Return anything
});

And then call the clear-cache route from your browser.

I hope this is helpful.

Advertisements

How To Increase import file size in PHPMyAdmin

By default when you want to import sql file size is 2MB in PHPMyAdmin.
That is PHP’s file upload limit.

To change maximum import file size do following step:

     1.Find php.ini file:  Type locate php.ini this command to find php.ini file.

 

     2.Edit php.ini file: Type sudo gedit /etc/php/7.0/apache2/php.in  this command to edit php.ini file.

 

    3. Find following variables and change values as you need: Type this command to change values as you need.

   post_max_size = 200M
   upload_max_filesize = 200M
   max_execution_time = 200
   max_input_time = 200
   memory_limit = 200M

   4. Restart apache to take effect:

Type sudo service apache2 restart this command for restart apache server.

How to Installing Laravel PHP Framework on Ubuntu / Linux mint 18.2

Laravel is a very popular open source PHP framework aimed at easy development of applications. If you are already Setup  your local environment with Apache2 , php, mySql and phpmyadmin and looking for a new PHP framework to try, you should give Laravel a try.

Installing Laravel

To install Laravel, we need to install Composer first. It is a tool for dependency management in PHP that allows you to package all the required libraries associated with a package as one. To install Laravel and all its dependencies, Composer is required. It will download and install everything that is required to run Laravel framework. To install Composer, issue the following commands.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

If you don’t have curl , then install it by typing this command,

sudo apt-get install curl

when you installed composer pretty sure you use $sudo …. because of that the folder was created by the root which you do not have permission even if you have admin privilege.

After install composer you need to give composer-cache file permissions by this command,

sudo chown -R $USER $HOME/.composer

Now we can run composer from anywhere.

To install Laravel, move to the public html directory on your system. Since we are on Ubuntu / Linux mint  , Goto the /var/www/html directory. Type the following command and hit enter ,

cd /var/www/html
composer create-project  –prefer-dist laravel/laravel explore

The above command will create a your-project directory with laravel installation in it. Composer uses git to download and install all the packages and modules that Laravel requires for functioning.

Your Laravel installation is now complete. Now goto /var/www/html directory , open your terminal and paste this command on terminal and hit enter.

php artisan serve 

Then open your favorite browser and Visit  http://localhost:8000 to access your Laravel installation.

If successful you should see the following screen.

Install and configure Apache, PHP, MySql and phpMyadmin (LAMP) on Linux Mint 18.2

LAMP named as an acronym of the Linux operating system, the Apache HTTP Server, the MySQL relational database management system and the PHP programming language.

L – Linux
A – Apache
M – MYSQL
P – PHP

Step 1:
Installing apache

 

The Apache HTTP Serveris the world’s most used web server software. Open Terminal. To open terminal click the Main Linux Mint Menu, then go to system tools and select Terminal or type terminal in the search field or click the Terminal icon in taskbar. And type the below code in terminal and hit enter.

sudo apt-get install apache2

Type your linux mint password and press enter.

Type y and hit enter to confirm apache installation.

 

After the successful installation , open your favorite browser and type

http://localhost/

in the address bar and press enter. If you will see ‘It works!’  in the Apache2 Ubuntu Default Page, then your apache works fine.

apche2
Step 2:
Installing PHP

<a
PHP is a server-side scripting language. To install php on linux mint open terminal and type the below code in terminal and hit enter.

sudo apt-get install php-mbstring php7.0-mbstring php-gettext

Type your linux mint password if needed.

Type y and hit enter to confirm PHP installation. This will install the latest php version that is 7 on linux mint.

After the successful installation restart Apache using the below code

sudo /etc/init.d/apache2 restart

or

sudo service apache2 restart

 

 

Test PHP installation

Now to test PHP is installed, open your favorite browser and type

http://localhost

in the address bar and press enter. If you will see the below page , then your php works fine.

php
To check the installed PHP version in terminal, type the below command in terminal and hit enter.

php -v


Step 3:
Installing MySql

To install Mysql in your linux mint system, open terminal. And type the below code in terminal and hit enter.

sudo apt-get install mysql-server

Type your linux mint password if needed.

Type y and hit enter to confirm MySql installation.

During the installation you will be prompted for a password. Choose something secure and type the password and hit enter.

If asked again, repeat the password and press enter.

 

To install the mysql client, type the below command in terminal and press the enter key in your keyboard

sudo apt-get install mysql-client

 

Step 4:
Installing phpMyadmin

phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web.

Open your terminal. And type the below code in terminal and hit enter.

sudo apt-get install phpmyadmin

Type your linux mint password if needed.
Type y and hit enter to confirm phpMyadmin installation.

During the installation you will be prompted for a webserver configuration. Select apache2 by pressing space button

(already selected) press enter.

Now  you will be prompted for a configure database for phpmyadmin wjth dbconfig-common.

Select ‘Yes’ to configure database for phpmyadmin wjth dbconfig-common.

config-phpmyadmin

Now you will be promped for phpmyadmin configuration. Type your mysql application password for phpmyadmin
and press the down arrow key to point ok and hit the enter key.

config-phpmyadmin

Again confirm the password and press OK.

config-phpmyadmin

restart your apache server using

sudo service apache2 restart

Type your linux mint password if needed. And restart your pc.

Open your browser and type

http://localhost/phpmyadmin/

in the address bar and press enter. It will open the phpmyadmin admin login page
Type your mysql root username and password to login.

phpmyadmin

MVC এবং ফ্রেমওয়ার্ক সম্পর্কে কিছু বকাবকি

প্রথমেই বলে নেয়া প্রয়োজন যে এটা কোনো টিউটরিয়াল নয়।  আমি যতগুলো বই পড়েছি সেখান থেকে যে ধারনা পেয়েছি এবং যা জানতে পেরেছি আর নিজের অভিজ্ঞতা থেকে যা বুঝতে পেরেছি নিচের লেখাগুলি তারই বহিংপ্রকাশ।

 

ফ্রেমওয়ার্ক সম্পর্কে যেটা বলবো :

ফ্রেমওয়ার্ক এর উদাহরণ হিসাবে ধরা যাক, আমি একটি দশ তলা বিল্ডিং তৈরি করতে চাই। আমি ইঞ্জিনিয়ারকে দুইটি অপশন দিলাম। প্রথমত, আমি তাকে একটি প্লট দিলাম এবং বললাম দশ তলা বিল্ডিং তৈরি করতে। এবং দ্বিতীয়ত, আমি তাকে একটি স্ত্রং দশ তলা বিল্ডিং এর কাঠামো দিলাম যেখানে অলরেডি তৃতীয় তলা পর্যন্ত তৈরি করা আছে।

নিচের ছবি দুটির সাথে PHP দিয়ে একটা উদহারণ দিলে ধারণাটা আরো ক্লিয়ার হবে :

imagesচিত্র: ফ্রেমওয়ার্ক ছাড়া PHP

ইঞ্জিনিয়ারের জন্য কোনটি বেটার অপশন হবে? নিঃসন্দেহে দ্বিতীয়টি। যদিও প্রথমটিতে নিজের চিন্তা ও কল্পনা ব্যবহারের সম্ভবনা বেশি, কিন্ত এর সবচেয়ে বড় প্রব্লেম হচ্ছে ইঞ্জিনিয়ারকে যথেষ্ট দক্ষ হতে হবে, কেননা যদি সে শুরুতে কোন ভুল করে তাহলে সম্পূর্ণ বিল্ডিং ধসে পরতে পারে। এক্ষেত্রে দ্বিতীয় অপশনটি ভালো। আমি আগেই বলেছি, স্ত্রং কাঠামো যার যথেষ্ট এক্সটেন্টিবিলিটি ও বিশ্বাসযোগ্যতা আছে।

building-a-house-in-flat-design-with-construction-elements_23-2147561235চিত্র: ফ্রেমওয়ার্ক সহ PHP

তেমনই ওয়েব সাইটের ক্ষেত্রে ফ্রেমওয়ার্ক হচ্ছে রেডিমেড ক্লাস ও ইন্টারফেসের কালেকশন যার মাধ্যমে আমরা নির্দিষ্ট ধরনের অ্যাপ্লিকেশান ডেভেলপ করতে পারি।

ফ্রেমওয়ার্ক এর আর্কিটেকচার: মডেল-ভিউ-কন্ট্রোলার (MVC):

মডেল-ভিউ-কন্ট্রোলার(MVC) একটি পরিচিত সফটওয়্যার আর্কিটেকচার। সফটওয়্যার/ওয়েব অ্যাপ ডেভেলপমেন্টে (MVC) আর্কিটেকচার ব্যবহার করে অনেক সুবিধা পাওয়া সম্ভব।

MVC তে আমরা আমাদের ডেভেলপমেন্টকে ৩টি ভাগে ভাগ করবো,মডেল,ভিউ এবং কনট্রোলার। আমরা ইউজার ইন্টারফেসের কোড এবং অন্যান্য কোড যেমন বিভিন্ন ফাংশন,ডাটাবেস কুয়েরি পুরোপুরি আলাদা করে ফেলবো যাতে প্রতিটি অংশ নিয়ে আলাদা ভাবে কাজ করা যায় অন্য কোনো অংশের উপর প্রভাব না ফেলে।

ভিউ: এ অংশের কোডে থাকবে শুধুমাত্র ইউজার ইন্টারফেসের কোড,অন্য কোনো কিছু না। যেমন: ওয়েব ডেভেলপিং এর ক্ষেত্রে MVC আর্কিটেকচারের ভিউ অংশে থাকবে শুধুমাত্র HTML/XHTML কোড, ফ্ল্যাশ অ্যানিমেশন । অবশ্যই একটি মডেলের জন্য একাধিক ভিউ ফাইল থাকতে পারে কিন্তু লজিকাল কোনো ব্যাপার ভিউতে থাকবেনা।

মডেল: এ অংশে থাকবে আপনার সমস্ত ফাংশন,ডাটাবেস কুয়েরি ইত্যাদি। এখানে ডিসপ্লের কোনো প্রকার কাজ হবেনা,আপনাকে কিছু ভ্যারিয়েবল প্যারামিটার হিসাবে পাঠানো হতে পারে,নাও পারে,আপনি ফাংশনে আপনার প্রয়োজনীয় কাজ করে কনট্রোলারকে রিটার্ন করবেন। মডেল যে ডাটা রিটার্ণ করে সেগুলো “display-neutral”, অর্থাত কোনো ডিসপ্লে ফরমেটিং থাকেনা সেগুলোতো।

কন্ট্রোলার: কন্ট্রোলার মডেল আর ভিউ অংশের সমন্বয় করে। সকল ইউজার ইনপুট কন্ট্রোলারের কাছে যায়,কন্ট্রোলার ইনপুট পাবার পর প্যারামিটার হিসাবে পাঠিয়ে দেয় মডেলের কাছে,মডেল সেটাকে প্রসেস করে কিছু ডাটা রিটার্ণ করে,এবার সেই ডাটাকে কন্ট্রোলার আবার পাঠিয়ে দেয় ভিউ এর কাছে। ভিউ তখন ডাটা গুলো প্রদর্শন করে।

তাহলে ইউজার যা দেখছে সেটা ভিউ,ইউজারের ইনপুট গ্রহণ করছে কন্ট্রোলার,সে ইনপুট মডেলে পাঠিয়ে প্রসেস করছে,পরে প্রসেস করা ডাটা আবার ভিউতে পাঠিয়ে ইউজারকে প্রদর্শন করছে।

আমরা যখন সাধারণ ভাবে একটি জাভা কোড লিখি আমরা ডাটা প্রসেসিং অংশ,গ্রাফিক্সের অংশ একসাথে রেখে দেই। এতে আমাদের যখন খালি গ্রাফিক্স নিয়ে কাজ করতে হয় তখন অন্যান্য কোডও আমাদের দেখতে হয়। কিন্তু MVC তে আমার জানাও দরকার নেই অন্যান্য কাজ কিভাবে হচ্ছে,আমার গ্রাফিক্সের অংশের কোড নিয়েই শুধু কাজ করতে পারি। একই ভাবে যে ডাটাবেস অংশ করবে সে শুধুমাত্র মডেল নিয়ে কাজ করতে পারে। চাইলে মডেলকেও কয়েক ভাগে ভাগ করে নেয়া যায়,এক অংশে হয়তো থাকবে অ্যালগোরিদম,আরেক অংশে ডাটাবেস,ফলে কাজে আরও সুবিধা হবে।

কন্ট্রোলারের কনসেপ্টটাও গুরুত্বপূর্ণ। অ্যাপ্লিকেশনের কন্ট্রোলার যার হাতে থাকবে সে একাধিক মডেল বা ভিউ হতে ইচ্ছামত নির্বাচন করতে পারবে। ধরো তুমি তোমার সাইটের ডিজাইন টেমপ্লেট পাল্টাতে চাও,তোমার HTML/XHTML আর PHP/ASP/Python কোড একসাথে থাকলে কি ঘটবে? তোমাকে নতুন টেম্প্লেটের ভিতর আবার ফাংশন গুলো বসাতে হবে যা অনেক সময়সাপেক্ষ। কিন্তু MVC তে তুমি খালি ভিউ ফাইলটা বদলে দিবে,কাজ শেষ।

একটা MVC অ্যাপ্লিকেশনে অনেকগুলো মডেল-ভিউ-কন্ট্রোলারের সমষ্টিও হতে পারে। জাভার সুইং লাইব্রেরির প্রতিটা কম্পোনেন্ট আলাদা MVC ব্যবহার করে।

তবে MVC কখন ব্যবহার করবে আর কখন করবেনা সেটাও মাথায় রাখতে হবে। ছোট ১০০ লাইনের একটা অ্যাপ্লিকেশনের জন্য MVC ব্যবহারের কোনো প্রয়োজন নেই। MVC ব্যবহার করতে বেশ পরিকল্পনার দরকার আছে যা সময়সামেক্ষ। ছোট অ্যাপ্লিকেশনে এ সময় ব্যয় করা অর্থহীন। তবে বড় প্রজেক্টের ক্ষেত্রে MVC তোমাকে বিশাল অ্যাডভান্টেজ দিবে,তুমি খুব সহজে প্রজেক্ট মেইনটেইন করতে পারবে।

MVC কিভাবে ব্যাবহার করবে? ১টি উপায় হলো নিজেই MVC আর্কিটেকচারের মূলনীতিগুলো মেনে কোডিং করা। আরো সহজ উপায় হলো ফ্রেমওয়ার্ক ব্যবহার করে। ওয়েবে খুব জনপ্রিয় একটি পিএইচপি ফ্রেমওয়ার্ক হলো কোডইগনাইটার। ফ্রেমওয়ার্ক তোমাকে মডেল-ভিউ-কন্ট্রোলার সবগুলোর জন্য আলাদা ফ্রেম তৈরি করে দিবে,তুমি শুধু ফ্রেমগুলোতে কোড লিখবে। এছাড়া বেশীভাগ ফ্রেমওয়ার্ক আরো কিছু সুবিধা দেয়। যেমন ডাটাবেসে সহজে কুয়েরির জন্য কিছু লাইব্রেরি। পাইথনের django সহ অন্যান্য কিছু ফ্রেমওয়ার্কে এমন লাইব্রেরি আছে যা স্বয়ংক্রিয় ভাবে HTML কোড জেনারেট করবে,আপনাকে খালি পাইথনের সিনট্যাক্সে কোড লিখতে হবে। জাভা,সি++ সবকিছুর জন্যই MVC ফ্রেমওয়ার্ক পাওয়া যায়। চাইলে নিজেরই একটা ফ্রেমওয়ার্ক বানিয়ে নিতে পারো :)।