Merih Forum Programlama ve yazılım algoritmalar Genel laravel Laravel Framework public Dizin İsmini Değiştirme

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Laravel Framework public Dizin İsmini Değiştirme

 
#1

Laravel ile herhangi bir projeye başlarken ilk yaptığım eylemlerden biri, virtual host sorunları yaşamamak ve sunucularımdaki varsayılan public dizini public_html olduğundan Laravel’in public dizinini public_html olarak değiştirmektir.
Not: Ben burada varsayılan public dizin isminin public_html olduğunu varsayarak işlem yapacağım, sizin sunucunuzda bu dizinin ismi www, htdocs, httpdocs vs. olabilir. Sunucunuzu denetleyip bu isme göre yapılandırmanızı yapmalısınız.
Aşağıdaki örnekte FileZilla uygulamasından örnek ekran görüntüsü sunulmuştur:
public_html.jpg
Bu değişikliğin, php artisan serve komutunu kullandığınızda sorun çıkarmaması, ayrıca elixir / gulp kullandığınızda da gerekli vendor publish durumlarında da varlıklarınızın (asset) bu dizine gönderilmesi için gerekli tüm yapılandırmayı gerçekleştireceğiz.
Aşağıdaki yönergeleri adım adım takip edin:
public dizinini public_html olarak adlandırın.
Bu dizindeki index.php dosyası içindeki
Kod:
$app = require_once __DIR__ . '/../bootstrap/app.php';

satırının altına aşağıdaki satırları ekleyin:
Kod:
// set the public path to this directory
$app->bind('path.public', function () {
   return __DIR__;
});

kaydedin ve kapatın.
Proje ana dizinindeki server.php dosyası içindeki ‘/public’ kısımlarını ‘/public_html’ olarak güncelleyin.
Proje ana dizinindeki gulpfile.js dosyasının içindeki
Kod:
var elixir = require('laravel-elixir');

satırının altına bunları ekleyin:
Kod:
elixir.config.sourcemaps = false;
elixir.config.publicDir = 'public_html';
elixir.config.publicPath = 'public_html';
elixir.config.cssOutput = 'public_html/css'; // tercihe bağlı
elixir.config.jsOutput = 'public_html/js'; // tercihe bağlı

kaydedin ve kapatın.
app/Console/Commands dizini içinde Serve.php adında bir dosya oluşturun ve bunları içine kaydedin:
Kod:
<?php

namespace App\Console\Commands;

use Exception;
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Process\PhpExecutableFinder;
use Symfony\Component\Process\ProcessUtils;

class Serve extends Command {
   /**
    * The console command name.
    *
    * @var string
    */
   protected $name = 'serve';

   /**
    * The console command description.
    *
    * @var string
    */
   protected $description = 'Serve the application on the PHP development server';

   /**
    * Execute the console command.
    *
    * @return void
    *
    * @throws \Exception
    */
   public function fire() {
       chdir('/');

       $host = $this->input->getOption('host');

       $port = $this->input->getOption('port');

       $base = ProcessUtils::escapeArgument($this->laravel->basePath());

       $binary = ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false));

       $this->info("Laravel development server started on http://{$host}:{$port}/");

       if (defined('HHVM_VERSION')) {
           if (version_compare(HHVM_VERSION, '3.8.0') >= 0) {
               passthru("{$binary} -m server -v Server.Type=proxygen -v Server.SourceRoot={$base}/ -v Server.IP={$host} -v Server.Port={$port} -v Server.DefaultDocument=server.php -v Server.ErrorDocument404=server.php");
           } else {
               throw new Exception("HHVM's built-in server requires HHVM >= 3.8.0.");
           }
       } else {
           passthru("{$binary} -S {$host}:{$port} {$base}/server.php");
       }
   }

   /**
    * Get the console command options.
    *
    * @return array
    */
   protected function getOptions() {
       return [
           ['host', null, InputOption::VALUE_OPTIONAL, 'The host address to serve the application on.', 'localhost'],

           ['port', null, InputOption::VALUE_OPTIONAL, 'The port to serve the application on.', 8000],
       ];
   }
}

kaydedin ve kapatın.
app/Console içindeki Kernel.php dosyasındaki
Kod:
protected $commands = [
   //
];

kısmını aşağıdaki şekilde ayarlayın:
Kod:
protected $commands = [
   Commands\Serve::class,
];

kaydedin ve kapatın.
İşlem tamam!
Takıldığınız herhangi bir şey olursa, bu makalenin altındaki yorum alanından iletebilirsiniz.
Keyifli Laravellemeler!



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Laravel 5 ve Sendgrid ile E-posta Gönderimi sempatik141 0 1,733 09-07-2017, Saat: 11:11
Son Yorum: sempatik141
  laravel valet mysql kullanıcı oluşturma sempatik141 0 1,632 09-07-2017, Saat: 11:07
Son Yorum: sempatik141
  Laravel Nedir ? sempatik141 0 1,718 09-07-2017, Saat: 09:52
Son Yorum: sempatik141

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2020 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.